2100 |
Can bars have a grey backcolor and black border color for a summary-bar (EBN)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oAppearance LOCAL oBar,oBar1,oBar2 LOCAL oChart LOCAL oItems LOCAL hSummaryJ,hSummaryK,hSummaryN,hTaskJ,hTaskK oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oAppearance := oG2antt:VisualAppearance() oAppearance:RenderType := -2 oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABN0GACAADACAxRDAMgBQKAAzQFAYahuGSGAAGMYxQgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQyDAAUIjOKsIhkGYcZAGQBJCjWGodQLOEgwHIERQjEyUJAGGQIHhyPYbUbGUpQHKkeRtGqgBgoKhKEouNYgAbGYIwTRsdyfDSXBpEWwbDgkNQwWTDNoRDIUQStCysaYjOpnfrUAJ1P7FdQ1NJkXRhGSSK7maapaiCSZ6STCMj1FhVKSNJ7DQKhGpgKh/ApgYpQOK4fLNXyRBK4QAyKA6bgPFZOZbFViaXY1V5bNKrcjhHQwAyHJ4XXRdV4YRAkUT4GqiJKGSYcQhuXZWbRqO6ABhef6DRThc6jKpFHIE4llEcojHqSZNgoIxnlgd5thsLREleL43gsYZ9BkaAYkMAgAm+CxGDWWAtiKCRfjcdRgHoHYnicUwgAIEIREAaQYkcQZUHIGRUDQJBOEYRAhDYCxGgMZAkCgdYQha" +; "XQIAYERwQuahXggdgeG6VZ4H4IhdiIGIOB8YIiGiHZZgqYpGF4KYHiKCI+CAU5jCiTQ2g0YhEFyax4gABAEIC") oAppearance:Add(2,"gBFLBCJwBAEHhEJAAEhABU0IQAAYAQGKQYhiAKBQAGaAoDDcMA4QwAAyjAKMEwsACEIrjKCRShyCYZRhGcTAJBMIhiGQYAChEZxVhEMgzDjIAxSJAcQRFESaAABGCQGh+N4/S4NIi0CIsZQjCaiZ7pKA5bgMCo+UrNMixZQVCSOGChYRpCaZWpGGodQRUFbVHAlKypJKCKrEWSrDhuYAAW7XM7yBS1TzVNSuLZtaLqSroAJ1WTWMB0Ra8NzZEKfaZACj4arKejrRDCMAggI=") oAppearance:Add(3,"gBFLBCJwBAEHhEJAAEhABN8GACAADACAxRDgMQBQKAAzQFAcDBvBgABiHEZoJhUAIIRZGMIjFDcEwxDSMY7jcYAFgkNQwCUtcBIJDEMIoAJLIwyBKkNQ5AabYrmWJpMgOEAyDSJM70DCEThLD4aZJnOa5ZjmH5LRBQdBRXQMYwIGCiZQpeKqbgMBoJApCIJxdBNLAAf60LLtGJaSpKZouViJNjSBD4HQTL6BQwsKxIDqaaD/WpgFuLTjiRImShcMQXJYFbwTOyBbDjG7rJr+FptYRbdYYRQ8dy7Cywa6pOa8YwacotZrAdDXHTmHw1PTRNDmTRYRwfKqJZxieqwHoMLYgAC8Ni3OaoDAiCRQGiYZyHKaRSwPBInIYIIjeRgzBSAYKCEOySEodZbjybo0HefwfhMLQDnKeg9D6LwsCeV5unYQJYH8Lxvj+a5jgSfIYH8T43hOcZ5H+X4nh2fB6F+aABnOAIfFgFgGgGH43nICoCl+eA1n0fBhAgVZ5gS" +; "HoID4FoDCCCBqBuBYUjgfgigGURYg4JoJmKCBFBaChikiNgVEYYpokYMoMCMKJWCkcIjgiZg6E0Do3gUASAg=") oG2antt:Columns():Add("Task") oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,128) oChart:FirstVisibleDate := "01/01/2001" oBar := oChart:Bars:Item("Task") oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18) oBar:SetProperty("Color",0x1000000) oBar1 := oChart:Bars:Item("Summary") oBar1:SetProperty("Def",4/*exBarHAlignCaption*/,18) oBar1:SetProperty("Color",0x2000000) oBar2 := oChart:Bars():CallMethod("Copy","Summary","SummaryN") oBar2:SetProperty("Def",4/*exBarHAlignCaption*/,18) oBar2:SetProperty("Color",0x3000000) oItems := oG2antt:Items() hSummaryJ := oItems:AddItem("Summary A") oItems:AddBar(hSummaryJ,"Summary","01/02/2001","01/02/2001","J") hTaskJ := oItems:InsertItem(hSummaryJ,,"Task A.1") oItems:AddBar(hTaskJ,"Task","01/02/2001","01/05/2001","J1") hTaskJ := oItems:InsertItem(hSummaryJ,,"Task A.2") oItems:AddBar(hTaskJ,"Task","01/04/2001","01/08/2001","J2") oItems:DefineSummaryBars(hSummaryJ,"J",-1,"<*>") hSummaryK := oItems:AddItem("Summary B") oItems:AddBar(hSummaryK,"Summary","01/02/2001","01/02/2001","K") hTaskK := oItems:InsertItem(hSummaryK,,"Task B.1") oItems:AddBar(hTaskK,"Task","01/02/2001","01/05/2001","K1") hTaskK := oItems:InsertItem(hSummaryK,,"Task B.2") oItems:AddBar(hTaskK,"Task","01/04/2001","01/08/2001","K2") oItems:DefineSummaryBars(hSummaryK,"K",-1,"<*>") hSummaryN := oItems:AddItem("Summary C") oItems:AddBar(hSummaryN,"SummaryN","01/02/2001","01/02/2001","SN") hTaskK := oItems:InsertItem(hSummaryN,,"Task B.1") oItems:AddBar(hTaskK,"Task","01/02/2001","01/05/2001","N1") hTaskK := oItems:InsertItem(hSummaryN,,"Task B.2") oItems:AddBar(hTaskK,"Task","01/04/2001","01/08/2001","N2") oItems:DefineSummaryBars(hSummaryN,"SN",-1,"<*>") oItems:SetProperty("ItemBar",0,"<K*>",33/*exBarColor*/,255) oItems:SetProperty("ItemBar",0,"<N*>",33/*exBarColor*/,8421504) oItems:SetProperty("ExpandItem",0,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2099 |
How can I display UNICODE characters
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL oStdFont oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oStdFont := oG2antt:Font() oStdFont:Name := "Arial Unicode" oStdFont:Size := 22 oG2antt:HeaderVisible := 0/*exHeaderHidden*/ oG2antt:DefaultItemHeight := 48 oG2antt:Columns():Add(""):SetProperty("Def",17/*exCellValueFormat*/,1) oItems := oG2antt:Items() oItems:AddItem("Ӓӓ") oItems:AddItem("ᦜᦝ;ᦞ") oItems:AddItem("ɮɭ;ɯ") oItems:AddItem("勳勴勵勶") oItems:SetProperty("FormatCell",oItems:AddItem(oG2antt:Version()),0,"(value lfind `UNICODE`) < 0 ? `<fgcolor=FF0000><b>!UNICODE!</b> version</fgcolor> required: ` + value : `` ") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2098 |
How can I display 12-hour time (method 2)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oLevel oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oChart:Level(0):Label := 4096 oLevel := oChart:Level(1) oLevel:Unit := 65536/*exHour*/ oLevel:FormatLabel := "(0 := hour(dvalue)) < 12 ? ( `<fgcolor=808080>` + ( =:0 = 0 ? 12 : =:0 ) + `</fgcolor>` ) : (=:0 - 12)" oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2097 |
How can I display 12-hour time (method 1)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oChart:Level(0):Label := 4096 oChart:Level(1):Label := "<%h12%>" oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2096 |
How do I scale to hours
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oChart:Level(0):Label := 4096 oChart:Level(1):Label := 65536 oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2095 |
How do I display the position of the item with 0-padding
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Items"):FormatColumn := "((1 apos ``) lpad `00`) + `. ` + value" oItems := oG2antt:Items() oItems:AddItem("Item A") oItems:AddItem("Item B") oItems:AddItem("Item C") oItems:AddItem("Item D") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2094 |
Can I format the label in row 3 below to show day numbers, only for Mondays each week (sample 2)
|
2093 |
Can I format the label in row 3 below to show day numbers, only for Mondays each week (sample 1)
|
2092 |
How can I change the caption for all bars
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oChart := oG2antt:Chart() oChart:FirstVisibleDate := "08/01/2017" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,128) oBar := oChart:Bars():Add("Task%Progress") oBar:Shortcut := "Task" oBar:SetProperty("Def",14/*exBarShowPercentCaption*/,.T.) oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","08/02/2017","08/06/2017") oItems:AddBar(oItems:AddItem("Task 2"),"Task","08/03/2017","08/09/2017") oItems:AddBar(oItems:AddItem("Task 3"),"Task","08/04/2017","08/13/2017") oItems:AddBar(oItems:AddItem("Task 4"),"Task","08/05/2017","08/16/2017") oItems:SetProperty("ItemBar",0,"<*>",14/*exBarShowPercentCaption*/,.F.) oItems:SetProperty("ItemBar",0,"<*>",3/*exBarCaption*/,"<%= %C0 replace `Task` with `Task<off 4><b>` %>") oItems:SetProperty("ItemBar",0,"<*>",4/*exBarHAlignCaption*/,18) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2091 |
Can't get the +/- to be displayed on a divider item. What else can I do
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oG2antt:DrawGridLines := -1/*exAllLines*/ oG2antt:TreeColumnIndex := 0 oG2antt:MarkSearchColumn := .F. oG2antt:FullRowSelect := 0/*exColumnSel*/ oG2antt:HeaderAppearance := -1/*0xfffffff8+Bump+Sunken*/ oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oColumns := oG2antt:Columns() oColumns:Add("C1"):Width := 32 oColumns:Add("C2"):FormatColumn := "1 index ``" oItems := oG2antt:Items() h := oItems:AddItem("Cell 1") oItems:SetProperty("CellSingleLine",h,1,0/*exCaptionWordWrap*/) h := oItems:AddItem("This is bit of text merges all cells in the item (divider shows no +/-)") oItems:SetProperty("ItemDivider",h,0) oItems:SetProperty("ItemBackColor",h,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oItems:SetProperty("ItemDividerLine",h,0/*EmptyLine*/) oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/) oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oItems:SetProperty("ExpandItem",h,.T.) h := oItems:AddItem("Cell 3") h := oItems:AddItem("This is bit of text merges all cells in the item (merge shows +/-)") oItems:SetProperty("ItemBackColor",h,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oItems:SetProperty("CellMerge",h,0,1) oItems:InsertItem(h,,"Child 3") oItems:InsertItem(h,,"Child 4") oItems:SetProperty("ExpandItem",h,.T.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2090 |
How can I display one or more columns on the same bar
PROCEDURE OnAddGroupItem(oG2antt,Item) LOCAL oItems LOCAL l oItems := oG2antt:Items() oItems:SetProperty("ItemDividerLine",Item,0/*EmptyLine*/) oItems:AddBar(Item,"Summary","12/02/2017","12/02/2017") oItems:DefineSummaryBars(Item,"",-3,"") l := oItems:GroupItem(Item) oItems:SetProperty("CellSingleLine",Item,l,0/*exCaptionWordWrap*/) oItems:SetProperty("CellBold",Item,l,.T.) oItems:SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. )) oG2antt:Chart():SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. )) RETURN PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/10/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar,oBar1 LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oColumns LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/ oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oG2antt:VisualAppearance():Add(1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzVIUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxINgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZxBBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +; "eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oBar := oChart:Bars:Item("Summary") oBar:StartShape := 0/*exShapeIconEmpty*/ oBar:EndShape := 0/*exShapeIconEmpty*/ oBar:Shape := 1/*exShapeSolid*/ oBar:SetProperty("Color",0x1000000) oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%513%>") oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18) oBar1 := oChart:Bars:Item("Task") oBar1:Pattern := 32/*exPatternBox*/ oBar1:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 164,164,164 } ) , .F. )) oBar1:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oBar1:SetProperty("EndColor",oBar1:StartColor()) oBar1:SetProperty("Def",3/*exBarCaption*/,"<%= `<font ;6><fgcolor=0000FF><i>` + %C0 + ` ` + %C1 + ` ` + %C2 %>") oBar1:SetProperty("Def",4/*exBarHAlignCaption*/,13) oColumns := oG2antt:Columns() oColumns:Add("C1") oColumns:Add("C2"):Editor():EditType := 1/*EditType*/ oColumns:Add("C3"):Editor():EditType := 1/*EditType*/ oColumn := oColumns:Add("Pos") oColumn:FormatColumn := "1 pos ``" oColumn:AllowGroupBy := .F. oColumn:Position := 0 oColumn:Width := 48 oColumn:AllowSizing := .F. oG2antt:SortBarVisible := .T. oG2antt:SortBarCaption := "Drag a <b>column</b> header here to group by that column." oG2antt:AllowGroupBy := .T. oG2antt:HasLines := 0/*exNoLine*/ oG2antt:LinesAtRoot := 0/*exNoLinesAtRoot*/ oItems := oG2antt:Items() h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.3") oItems:SetProperty("CellValue",h,2,"SubItem A.4") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.5") oItems:SetProperty("CellValue",h,2,"SubItem A.6") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.7") oItems:SetProperty("CellValue",h,2,"SubItem A.8") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"SubItem B.1") oItems:SetProperty("CellValue",h,2,"SubItem B.2") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"SubItem B.3") oItems:SetProperty("CellValue",h,2,"SubItem B.4") oColumn1 := oG2antt:Columns:Item(0) oColumn1:SortOrder := 1/*SortAscending*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2089 |
How can I associate a box/note to a date into the control's header
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems,oItems1 LOCAL oNote LOCAL oNotes LOCAL hLocked oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ScrollBySingleLine := .T. oG2antt:Columns():Add("Task") oG2antt:HeaderHeight := 17 oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:SetProperty("PaneWidth",.F.,96) oChart:LevelCount := 2 oChart:SetProperty("SelBackColor",oG2antt:SelBackColor()) oItems := oG2antt:Items() oItems:AddItem("Item 1") oItems:SetProperty("SelectItem",oItems:AddItem("Item 2"),.T.) oItems:AddItem("Item 3") oNotes := oG2antt:Chart():Notes() oItems1 := oG2antt:Items() oItems1:SetProperty("LockedItemCount",0/*exTop*/,1) hLocked := oItems1:LockedItem(0/*exTop*/,0) oItems1:SetProperty("ItemHeight",hLocked,1) oNote := oNotes:Add("header",hLocked,"01/07/2001","Date:<br><%dd%>/<%mm%><br><b><%yyyy%></b>") oNote:SetProperty("PartVisible",0/*exNoteStart*/,.T.) oNote:SetProperty("PartText",0/*exNoteStart*/,"<b><%d%></b>") oNote:SetProperty("PartCanMove",1/*exNoteEnd*/,.T.) oNote:SetProperty("PartCanMove",0/*exNoteStart*/,.T.) oNote:SetProperty("PartVOffset",0/*exNoteStart*/,-9) oNote:SetProperty("PartVOffset",1/*exNoteEnd*/,20) oNote:SetProperty("PartHOffset",1/*exNoteEnd*/,20) oNote:SetProperty("PartBackColor",0/*exNoteStart*/,AutomationTranslateColor( GraMakeRGBColor ( { 255,255,0 } ) , .F. )) oNote:SetProperty("PartFixedWidth",0/*exNoteStart*/,18) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2088 |
How can I define a column of button type
PROCEDURE OnButtonClick(oG2antt,Item,ColIndex,Key) LOCAL oItems oItems := oG2antt:Items() DevOut( Transform(oItems:CellValue(Item,ColIndex),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:ButtonClick := {|Item,ColIndex,Key| OnButtonClick(oG2antt,Item,ColIndex,Key)} /*Occurs when user clicks on the cell's button.*/ oG2antt:BeginUpdate() oColumn := oG2antt:Columns():Add("Button") oColumn:SetProperty("Def",2/*exCellHasButton*/,.T.) oColumn:SetProperty("Def",3/*exCellButtonAutoWidth*/,.F.) oColumn:FormatColumn := "``" oColumn:AllowSizing := .F. oColumn:Width := 48 oG2antt:Columns():Add("Second"):FormatColumn := "` Item ` + 1 index ``" oItems := oG2antt:Items() oItems:AddItem("Button 1") oItems:AddItem("Button 2") oItems:AddItem("Button 3 ") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2087 |
Is it possible to configure different colour/icon when there is a active filter
PROCEDURE OnFilterChange(oG2antt) oG2antt:SetProperty("Background",0/*exHeaderFilterBarButton*/,oG2antt:FormatABC("value = 0 ? 0x1000001 : 0x10000FF ",oG2antt:Columns:Item(0):FilterType())) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oAppearance LOCAL oColumn,oColumn1 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:FilterChange := {|| OnFilterChange(oG2antt)} /*Occurs when the filter was changed.*/ oG2antt:BeginUpdate() oAppearance := oG2antt:VisualAppearance() oAppearance:RenderType := -16777216 oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQgmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYThdr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA") oG2antt:DrawGridLines := -1/*exAllLines*/ oG2antt:ShowFocusRect := .F. oG2antt:SetProperty("Background",0/*exHeaderFilterBarButton*/,0x1000001) oG2antt:SetProperty("Background",32/*exCursorHoverColumn*/,-1) oG2antt:HeaderAppearance := 4/*Etched*/ oG2antt:SetProperty("BackColorHeader",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oG2antt:HeaderVisible := 1/*exHeaderVisibleExtendLevels*/ oColumn := oG2antt:Columns():Add("Filter") oColumn:DisplayFilterButton := .T. oColumn:AllowSort := .F. oColumn:AllowDragging := .F. oColumn:FilterList := 256/*exShowCheckBox*/ oItems := oG2antt:Items() oItems:AddItem("Item A") oItems:AddItem("Item B") oItems:AddItem("Item C") oColumn1 := oG2antt:Columns:Item(0) oColumn1:Filter := "Item B" oColumn1:FilterType := 240/*exFilter*/ oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2086 |
ADODB Requery sample
PROCEDURE OnButtonClick(oG2antt,Item,ColIndex,Key) LOCAL cmd cmd := CreateObject("ADODB.Command") cmd:ActiveConnection := oG2antt:DataSource():ActiveConnection() cmd:CommandText := "INSERT INTO Orders (EmployeeID) VALUES(12345)" cmd:CommandType := 1/*adCmdText*/ cmd:Execute() oG2antt:DataSource():Requery() RETURN PROCEDURE OnError(oG2antt,Error,Description) DevOut( Transform(Description,"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h LOCAL rs oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:ButtonClick := {|Item,ColIndex,Key| OnButtonClick(oG2antt,Item,ColIndex,Key)} /*Occurs when user clicks on the cell's button.*/ oG2antt:Error := {|Error,Description| OnError(oG2antt,Error,Description)} /*Fired when an internal error occurs.*/ oG2antt:BeginUpdate() oG2antt:HeaderAppearance := 4/*Etched*/ oG2antt:ColumnAutoResize := .F. rs := CreateObject("ADODB.Recordset") rs:Open("Select * From Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",1/*adOpenKeyset*/,3/*adLockOptimistic*/) oG2antt:DataSource := rs oG2antt:ConditionalFormats():Add("%1=12345"):SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oItems := oG2antt:Items() oItems:SetProperty("LockedItemCount",0/*exTop*/,1) h := oItems:LockedItem(0/*exTop*/,0) oItems:SetProperty("ItemDivider",h,0) oItems:SetProperty("CellHasButton",h,0,.T.) oItems:SetProperty("CellValue",h,0,"Requery (add a new record, using ADODB.Command)") oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2085 |
I am skinning the control's header-bar, but the background of the header-bar is shown on each item in the filter-bar drop down panel. What can I do
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oAppearance LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oAppearance := oG2antt:VisualAppearance() oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABFgDg6AADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQGhsCYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU8lORLUi+M4zSBPcZVTRtGShPDBKTjMKKYgkG4lVpRNa0PC1GTzQ6mazkKQLRADDIDVbAeL3LiMBy9LyLLItQALByua5mWhbcZyBCOPgBTrRb5zO58FjuTK7YLjMB7NrUNYtFaUMy2OpOCADIaecTNcaWLxPF2MY1HWYxVj2Jw3DuRJonKYBgggSRAlIYw6B0ThGFgPAkFUDAhBMfZRiGNAkFECZnm4YQdneJwqnsSQrGAAhWAIJBJBIQgFCQIBiEIAglgqYo0i4V4MEgRI9gSToYFS" +; "b4Fk6Y4+BmBZhFOJgTC8TBogQAArgqco4muCZOkOMJtgmYpIjYKg7GKE4uCUK4AAKKg2DwI4DiCZw5k6KJ2D6D4OHiag4DwIxiiQAArAqMosnEPBPAOIhOg+DozjIJ4PGSY4iEwPAkhKLhHUUSQsnKFCnkYU9MjORhcCsAAIACLQ8iaSJ6FKC5jJoaobA8KYoACCRKnmMJzhuDpZnSboMCKGJ4nMPIPDmYAACwKIDk6CoLCeU40m6I5oliMoKDyaICokLIpgoThviOKJoGYf4KmUKhMjMLJLCAAojCyaYoiYGoGmqM46CkOwPEoKonAACxKlSdItmiWBeBeDgrioNo3D0KxSlAAAtgsUpYnUPRPEoco8hCa+T40SxbBRj5tEsHJ1i6JhbGYS4ug8awelQLZAAKZI5C4DxrhYQ9ehmUppWiA48nAPRuFKYpiAAC47laZQ9iuKZSgOPotkuFI7C6C4gACPJAm8eQOhOQZoikDp3kCS5AACPoEk8fBGnqQg" +; "pDOSppD2TxjlyPZD6CfwekQTx5lKP5ImseZTCAL5MAMAAAkoTADmMLpIjISp+HSS4PgyMAADBzAHDSIoPCOUpWjObIKE8NJOHKIwPEaTprBsHpdjWLB9AieQ+DQYwQAAMR1EOZxWi+bx7HcWQ8msfRYnnDhQACRwxgwc5rGaMZPE0ZxqjWNZtgyRwAAyTZEnuXJzEyAx2kQcxNkye5cEy3cYAcANrGAIH4OAhx3gNGGPAfgIR8jBA4McBMARViHH4HQOYmxuCpF2MsecEQVBvGQCcIQvA6i2CAAIARAQ=") oAppearance:Add(2,"gBFLBCJwBAEHhEJAAEhABZEGACAADACAxRDgMQBQKAAzQFAYcBqGqGAAGQZxYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMwwDhEIwjHCEEhsGIbJAGQBJCjWGodQLOEgzNC0IxNFCQILhEZJADKII8TTOU5UPRESwTE4cKBmKhQCo2NpKR7VUTxCKQahLLivoCjBT8EzHMqtIzrCA6MpaP4pQjKcqwHJ8YyHEi0ZrjazKaj6T5AXDUcaWbbNVx3PK3aioOpLZrqOZZYzYFoABTuJzPMSyIhxXD8cweaZvSpLExVYK9BY3PbKMgxC77QgTIpDaQMNS6PjtF43PAALLFUaNYzoOKzABMHATBIXAYJCwIIR5G7ID4BbQcCQAHL9DBaEEIAEEISgGhMGZQmocgymmIRQkIEQ2BcGgbEIRQci8XaMBqTRVgSAZHG+S5pnOep+D6f4vjec5zn0fpfmgBgAH6TRoBYBoAh+eAmAiAgPFgNArgOQpIESdoEmCOAOAq" +; "BYfFGAgaEaBgYHYFYFmIB5UiGCJUgKCgmgeYoHk4BgCmKRQiCwApgHgYgyH8B54lQU4NkMeJlBoDgjkiXBTg0R54iYIR+koeQVBoKpkgkChKhEJBkF4SFEjkDgJhFQoeEmDJlBeehUhWJQJGIXoICWOQ6FeFIlhkfhlDsSJpiQVoamaSY2G6G5nAmRhpCOH5pkwVYdmeCZmHqHpnkmdhzhmaAIFiax8AABAEICA==") oG2antt:SetProperty("BackColorHeader",0x1000000) oG2antt:SetProperty("ForeColorHeader",AutomationTranslateColor( GraMakeRGBColor ( { 128,128,128 } ) , .F. )) oG2antt:SetProperty("Background",0/*exHeaderFilterBarButton*/,0x2000000) oG2antt:SetProperty("Background",26/*exBackColorFilter*/,AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oG2antt:SetProperty("Background",27/*exForeColorFilter*/,AutomationTranslateColor( GraMakeRGBColor ( { 0,0,1 } ) , .F. )) oG2antt:SetProperty("Background",20/*exSelBackColorFilter*/,0x1ff8000) oG2antt:SetProperty("Background",21/*exSelForeColorFilter*/,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oG2antt:SetProperty("Background",32/*exCursorHoverColumn*/,-1) oG2antt:HeaderHeight := 24 oG2antt:SetProperty("BackColorLevelHeader",oG2antt:BackColor()) oColumn := oG2antt:Columns():Add("Filter") oColumn:DisplayFilterButton := .T. oColumn:DisplayFilterPattern := .F. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn:SetProperty("Def",52/*exHeaderPaddingLeft*/,2) oColumn:SetProperty("Def",53/*exHeaderPaddingRight*/,2) oItems := oG2antt:Items() oItems:AddItem("A") oItems:AddItem("B") oItems:AddItem("C") oItems:AddItem("D") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2084 |
I specify the ItemHeight for each row, but as soon as I click the chart section, the item's height is restored to default (not working). What could be the cause
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ScrollBySingleLine := .T. oG2antt:Columns():Add("Types") oG2antt:DrawGridLines := 1/*exHLines*/ oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:DrawGridLines := 1/*exHLines*/ oChart:AllowCreateBar := 1/*exCreateBarAuto*/ oChart:AllowLinkBars := .F. oChart:ResizeUnitScale := 65536/*exHour*/ oChart:SetProperty("PaneWidth",.F.,112) oChart:FirstVisibleDate := "01/01/2001" oBar := oChart:Bars:Item("Task") oBar:OverlaidType := 3/*exOverlaidBarsStack*/ oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%9%>") oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18) oItems := oG2antt:Items() h := oItems:AddItem("ItemMinHeight") oItems:AddBar(h,"Task","01/07/2001","01/10/2001","A1") oItems:AddBar(h,"Task","01/08/2001","01/12/2001","A2") oItems:SetProperty("ItemMinHeight",h,64) oItems:AddBar(oItems:AddItem("Default (One)"),"Task","01/07/2001","01/10/2001","A3") h := oItems:AddItem("Default (Two)") oItems:AddBar(h,"Task","01/07/2001","01/10/2001","A4") oItems:AddBar(h,"Task","01/08/2001","01/12/2001","A5") h := oItems:AddItem("ItemFixedHeight") oItems:AddBar(h,"Task","01/07/2001","01/10/2001","A6") oItems:AddBar(h,"Task","01/08/2001","01/12/2001","A7") oItems:SetProperty("ItemMinHeight",h,20) oItems:SetProperty("ItemMaxHeight",h,20) h := oItems:AddItem("ItemMaxHeight") oItems:AddBar(h,"Task","01/07/2001","01/10/2001","A8") oItems:AddBar(h,"Task","01/08/2001","01/12/2001","A9") oItems:SetProperty("ItemMaxHeight",h,24) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2083 |
The ItemHeight property is not working (method 2)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .F. oG2antt:ScrollBySingleLine := .T. oG2antt:Columns():Add("Column"):Width := 128 oItems := oG2antt:Items() oItems:SetProperty("CellSingleLine",oItems:AddItem("This is a bit of text that should break the line"),0,0/*exCaptionWordWrap*/) h := oItems:AddItem("") oItems:SetProperty("ItemDivider",h,0) oItems:SetProperty("SelectableItem",h,.F.) oItems:SetProperty("ItemDividerLineAlignment",h,1/*DividerCenter*/) oItems:SetProperty("ItemHeight",h,3) oItems:SetProperty("CellSingleLine",oItems:AddItem("This is a bit of text that should break the line"),0,0/*exCaptionWordWrap*/) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2082 |
The ItemHeight property is not working (method 1)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .F. oG2antt:ScrollBySingleLine := .T. oColumn := oG2antt:Columns():Add("Column") oColumn:Width := 128 oColumn:SetProperty("Def",16/*exCellSingleLine*/,0) oItems := oG2antt:Items() oItems:AddItem("This is a bit of text that should break the line") h := oItems:AddItem("") oItems:SetProperty("ItemDivider",h,0) oItems:SetProperty("SelectableItem",h,.F.) oItems:SetProperty("ItemDividerLineAlignment",h,1/*DividerCenter*/) oItems:SetProperty("ItemMinHeight",h,3) oItems:SetProperty("ItemMaxHeight",h,3) oItems:AddItem("This is a bit of text that should break the line") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2081 |
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeCheckColumns
|
2080 |
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeHiddenColumn
|
2079 |
How do I use the ColumnsFloatBarVisible on exColumnsFloatBarVisibleIncludeGroupByColumns
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .F. oG2antt:HeaderAppearance := 4/*Etched*/ oColumns := oG2antt:Columns() oColumns:Add("City") oColumns:Add("Start") oColumns:Add("End") oG2antt:AllowGroupBy := .T. oG2antt:SortBarVisible := .T. oG2antt:SortBarCaption := "Drag a <b>column</b> header here to group by that column." oG2antt:SetProperty("BackColorSortBar",AutomationTranslateColor( GraMakeRGBColor ( { 250,250,250 } ) , .F. )) oG2antt:SetProperty("Description",26/*exColumnsFloatBar*/,"Group-By") oG2antt:ColumnsFloatBarVisible := 1/*exColumnsFloatBarVisibleIncludeGroupByColumns*/ oG2antt:ColumnsFloatBarSortOrder := 1/*SortAscending*/ oG2antt:Columns:Item("City"):SortOrder := 1/*SortAscending*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2078 |
How can I advance to the next line, once the user presses the ENTER key
PROCEDURE OnKeyDown(oG2antt,KeyCode,Shift) DevOut( "KeyCode Before:" ) DevOut( Transform(KeyCode,"") ) KeyCode := oG2antt:FormatABC("value = 13 ? 40 : value",KeyCode) DevOut( "KeyCode After:" ) DevOut( Transform(KeyCode,"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumns LOCAL oEditor,oEditor1 LOCAL oItems LOCAL h0 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:KeyDown := {|KeyCode,Shift| OnKeyDown(oG2antt,KeyCode,Shift)} /*Occurs when the user presses a key while an object has the focus.*/ oG2antt:BeginUpdate() oColumns := oG2antt:Columns() oEditor := oColumns:Add("A"):Editor() oEditor:Appearance := 4/*EtchedApp*/ oEditor:EditType := 1/*EditType*/ oEditor1 := oColumns:Add("B"):Editor() oEditor1:Appearance := 4/*EtchedApp*/ oEditor1:EditType := 1/*EditType*/ oItems := oG2antt:Items() h0 := oItems:AddItem("Item A.1") oItems:SetProperty("CellValue",h0,1,"Item B.1") h0 := oItems:AddItem("Item A.2") oItems:SetProperty("CellValue",h0,1,"Item B.2") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2077 |
I am using AddNew to add new records, but I can not see them into the control
PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems oItems := oG2antt:Items() oItems:AddBar(Item,"Task",oItems:CellValue(Item,1),oItems:CellValue(Item,2)) RETURN PROCEDURE OnButtonClick(oG2antt,Item,ColIndex,Key) LOCAL oRecordset oRecordset := oG2antt:DataSource() oRecordset:AddNew() oRecordset:Fields:Item("Name"):Value := "Task New" oRecordset:Update() RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oFields LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h LOCAL rs oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:ButtonClick := {|Item,ColIndex,Key| OnButtonClick(oG2antt,Item,ColIndex,Key)} /*Occurs when user clicks on the cell's button.*/ oG2antt:BeginUpdate() oG2antt:HeaderAppearance := 4/*Etched*/ rs := CreateObject("ADODB.Recordset") oFields := rs:Fields() oFields:Append("Name",8/*adBSTR*/) oFields:Append("Start",7/*adDate*/) oFields:Append("End",7/*adDate*/) rs:Open() rs:AddNew() rs:Fields:Item("Name"):Value := "Task A" rs:Fields:Item("Start"):Value := "01/04/2001" rs:Fields:Item("End"):Value := "01/10/2001" rs:Update() rs:AddNew() rs:Fields:Item("Name"):Value := "Task B" rs:Fields:Item("Start"):Value := "01/05/2001" rs:Fields:Item("End"):Value := "01/11/2001" rs:Update() oG2antt:DataSource := rs oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Items():AllowCellValueToItemBar := .T. oG2antt:Columns:Item("Start"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oG2antt:Columns:Item("End"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oItems := oG2antt:Items() oItems:SetProperty("LockedItemCount",0/*exTop*/,1) h := oItems:LockedItem(0/*exTop*/,0) oItems:SetProperty("ItemDivider",h,0) oItems:SetProperty("CellHasButton",h,0,.T.) oItems:SetProperty("CellValue",h,0,"AddNew") oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/) oG2antt:DetectAddNew := .T. oG2antt:DetectDelete := .T. oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2076 |
How can I create a new ADO recordset
PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems oItems := oG2antt:Items() oItems:AddBar(Item,"Task",oItems:CellValue(Item,1),oItems:CellValue(Item,2)) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oFields LOCAL oG2antt LOCAL oChart LOCAL rs oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() rs := CreateObject("ADODB.Recordset") oFields := rs:Fields() oFields:Append("Name",8/*adBSTR*/) oFields:Append("Start",7/*adDate*/) oFields:Append("End",7/*adDate*/) rs:Open() rs:AddNew() rs:Fields := "Task A" rs:Fields := "01/04/2001" rs:Fields := "01/10/2001" rs:Update() rs:AddNew() rs:Fields := "Task B" rs:Fields := "01/05/2001" rs:Fields := "01/11/2001" rs:Update() oG2antt:DataSource := rs oChart := oG2antt:Chart() oChart:FirstVisibleDate := "01/01/2001" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Items():AllowCellValueToItemBar := .T. oG2antt:Columns:Item("Start"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oG2antt:Columns:Item("End"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2075 |
Do do I get the DAO version I have installed
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) DevOut( CreateObject("DAO.DBEngine.35"):Version():Version() ) DevOut( CreateObject("DAO.DBEngine.36"):Version():Version() ) DevOut( CreateObject("DAO.DBEngine.120"):Version():Version() ) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2074 |
How do I get a list of interfaces the object implemenets
PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems oItems := oG2antt:Items() oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4)) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL rs LOCAL oPrivDBEngine oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .F. oPrivDBEngine := CreateObject("DAO.DBEngine.120") rs := oPrivDBEngine:OpenDatabase("C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb"):OpenRecordset("Orders") DevOut( Transform(CreateObject("Exontrol.PropertiesList"),"") ) oG2antt:DataSource := rs oChart := oG2antt:Chart() oChart:FirstVisibleDate := "08/04/1994" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Items():AllowCellValueToItemBar := .T. oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2073 |
Do do I get the ADO version I have installed
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) DevOut( "ADO Version:" ) DevOut( CreateObject("ADODB.Connection"):Version():Version() ) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2072 |
DAO, ACCDB, 120
PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems oItems := oG2antt:Items() oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4)) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL rs LOCAL oPrivDBEngine oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .F. oPrivDBEngine := CreateObject("DAO.DBEngine.120") rs := oPrivDBEngine:OpenDatabase("C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb"):OpenRecordset("Orders") oG2antt:DataSource := rs oChart := oG2antt:Chart() oChart:FirstVisibleDate := "08/04/1994" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Items():AllowCellValueToItemBar := .T. oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2071 |
DAO, MDB, 120
PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems oItems := oG2antt:Items() oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4)) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL rs LOCAL oPrivDBEngine oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .F. oPrivDBEngine := CreateObject("DAO.DBEngine.120") rs := oPrivDBEngine:OpenDatabase("C:\Program Files\Exontrol\ExG2antt\sample\Access\misc.mdb"):OpenRecordset("Orders") oG2antt:DataSource := rs oChart := oG2antt:Chart() oChart:FirstVisibleDate := "08/04/1994" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Items():AllowCellValueToItemBar := .T. oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2070 |
DAO, MDB
PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems oItems := oG2antt:Items() oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4)) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL rs LOCAL oPrivDBEngine oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .F. oPrivDBEngine := CreateObject("DAO.DBEngine.36") rs := oPrivDBEngine:OpenDatabase("C:\Program Files\Exontrol\ExG2antt\sample\Access\misc.mdb"):OpenRecordset("Orders") oG2antt:DataSource := rs oChart := oG2antt:Chart() oChart:FirstVisibleDate := "08/04/1994" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Items():AllowCellValueToItemBar := .T. oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2069 |
ADODB, ACCDB, x64
PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems oItems := oG2antt:Items() oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4)) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL rs oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .F. rs := CreateObject("ADODB.Recordset") rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",1/*adOpenKeyset*/,1/*adLockReadOnly*/) oG2antt:DataSource := rs oChart := oG2antt:Chart() oChart:FirstVisibleDate := "08/04/1994" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Items():AllowCellValueToItemBar := .T. oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2068 |
ADOR, ACCDB
PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems oItems := oG2antt:Items() oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4)) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL rs oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .F. rs := CreateObject("ADOR.Recordset") rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/) oG2antt:DataSource := rs oChart := oG2antt:Chart() oChart:FirstVisibleDate := "08/04/1994" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Items():AllowCellValueToItemBar := .T. oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2067 |
ADODB, MDB
PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems oItems := oG2antt:Items() oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4)) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL rs oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .F. rs := CreateObject("ADODB.Recordset") rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/) oG2antt:DataSource := rs oChart := oG2antt:Chart() oChart:FirstVisibleDate := "08/04/1994" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Items():AllowCellValueToItemBar := .T. oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2066 |
ADOR, MDB
PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems oItems := oG2antt:Items() oItems:AddBar(Item,"Task",oItems:CellValue(Item,2),oItems:CellValue(Item,4)) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL rs oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .F. rs := CreateObject("ADOR.Recordset") rs:Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/) oG2antt:DataSource := rs oChart := oG2antt:Chart() oChart:FirstVisibleDate := "08/04/1994" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Items():AllowCellValueToItemBar := .T. oG2antt:Columns:Item(2):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oG2antt:Columns:Item(4):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2065 |
I am using exCellValueToItemBarProperty, Is it possible to “disable” this synchronisation for one (or several) item (sample-2)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumns LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oColumns := oG2antt:Columns() oColumns:Add("Tasks") oColumns:Add("Start"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oColumns:Add("End"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,196) oChart:AllowCreateBar := 1/*exCreateBarAuto*/ oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddBar(oItems:AddItem("Task 1"),"Task","09/21/2006","09/24/2006") h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task","09/22/2006","09/25/2006") oItems:SetProperty("ItemBold",h,.T.) oItems:CellValueToItemBar(h,1,1/*exBarStart*/,"newbar") oItems:CellValueToItemBar(h,2,2/*exBarEnd*/,"newbar") oItems:AddBar(oItems:AddItem("Task 3"),"Task","09/23/2006","09/26/2006") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2064 |
I am using exCellValueToItemBarProperty, Is it possible to “disable” this synchronisation for one (or several) item (sample-1)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumns LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oColumns := oG2antt:Columns() oColumns:Add("Tasks") oColumns:Add("Start"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oColumns:Add("End"):SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oChart := oG2antt:Chart() oChart:FirstVisibleDate := "09/20/2006" oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,196) oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddBar(oItems:AddItem("Task 1"),"Task","09/21/2006","09/24/2006") h := oItems:AddItem("Task 2") oItems:AddBar(h,"Task","09/22/2006","09/25/2006") oItems:SetProperty("FormatCell",h,1,"``") oItems:SetProperty("FormatCell",h,2,"``") oItems:SetProperty("ItemBold",h,.T.) oItems:AddBar(oItems:AddItem("Task 3"),"Task","09/23/2006","09/26/2006") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2063 |
How can I use the CRD (eXCRD format)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1,oColumn2,oColumn3 LOCAL oItems LOCAL dih,h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:HeaderAppearance := 4/*Etched*/ oG2antt:SelBackMode := 1/*exTransparent*/ oColumn := oG2antt:Columns():Add("Default") oColumn:SetProperty("Def",32/*exCellFormatLevel*/,"[b=0]60;1[b=15]:60,((20;" + CHR(34) + "<fgcolor=808080>Dateigröße" + CHR(34) + "[b=1][a=2]:120,2[b=15])/(20;" + CHR(34) + "<fgcolor=808080>Erstellt am" + CHR(34) + "[a=2]:120,3[b=15])/(20;" + CHR(34) + "<fgcolor=808080>Zuletzt bearbeitet" + CHR(34) + "[b=4][a=2]:120,4[b=15]))") oColumn:AllowSort := .F. oG2antt:Columns():Add(Transform(1,"")):Visible := .F. oColumn1 := oG2antt:Columns():Add(Transform(2,"")) oColumn1:Visible := .F. oColumn1:Editor():EditType := 1/*EditType*/ oColumn1:FormatColumn := "1 index `A-Z`" oColumn2 := oG2antt:Columns():Add(Transform(3,"")) oColumn2:Visible := .F. oColumn2:Editor():EditType := 1/*EditType*/ oColumn2:FormatColumn := "1 index ``" oColumn3 := oG2antt:Columns():Add(Transform(4,"")) oColumn3:Visible := .F. oColumn3:Editor():EditType := 1/*EditType*/ oColumn3:FormatColumn := "date(``)" dih := 48 oG2antt:DefaultItemHeight := dih oG2antt:DrawGridLines := -2/*exRowLines*/ oG2antt:GridLineStyle := 48/*exGridLinesSolid*/ oChart := oG2antt:Chart() oChart:DrawGridLines := -2/*exRowLines*/ oChart:GridLineStyle := 48/*exGridLinesSolid*/ oChart:SetProperty("PaneWidth",.F.,256) oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2001" oChart:Bars:Item("Task"):OverlaidType := 515/*exOverlaidBarsStackAutoArrange+exOverlaidBarsStack*/ oItems := oG2antt:Items() h := oItems:AddItem("") oItems:SetProperty("CellValue",h,1,"One") oItems:AddBar(h,"Task","01/02/2001","01/12/2001","A") oItems:AddBar(h,"Task","01/04/2001","01/14/2001","B") oItems:SetProperty("ItemMaxHeight",h,dih) h := oItems:AddItem("") oItems:SetProperty("CellValue",h,1,"Two") oItems:AddBar(h,"Task","01/05/2001","01/10/2001","A") oItems:AddBar(h,"Task","01/02/2001","01/04/2001","B") oItems:AddBar(h,"Task","01/05/2001","01/14/2001","B2") oItems:SetProperty("ItemMaxHeight",h,dih) h := oItems:AddItem("") oItems:SetProperty("CellValue",h,1,"Three") oItems:AddBar(h,"Task","01/05/2001","01/10/2001","A") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2062 |
Type of wraps the cell's caption support (Sample 2)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn,oColumn1,oColumn2 LOCAL oColumns LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:HeaderSingleLine := .F. oG2antt:HeaderHeight := 36 oG2antt:DrawGridLines := -2/*exRowLines*/ oG2antt:ColumnAutoResize := .F. oG2antt:ScrollBySingleLine := .T. oColumns := oG2antt:Columns() oColumn := oColumns:Add("Single-Line (exCaptionSingleLine)") oColumn:Width := 96 oColumn:SetProperty("Def",17/*exCellValueFormat*/,1) oColumn:SetProperty("Def",16/*exCellSingleLine*/,-1) oColumn1 := oColumns:Add("Word-Wrap (exCaptionWordWrap)") oColumn1:Width := 96 oColumn1:SetProperty("Def",17/*exCellValueFormat*/,1) oColumn1:SetProperty("Def",16/*exCellSingleLine*/,0) oColumn1:FormatColumn := "%0" oColumn2 := oColumns:Add("Break-Wrap (exCaptionBreakWrap)") oColumn2:Width := 96 oColumn2:SetProperty("Def",17/*exCellValueFormat*/,1) oColumn2:SetProperty("Def",16/*exCellSingleLine*/,1) oColumn2:FormatColumn := "%0" oItems := oG2antt:Items() oItems:AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.") oItems:AddItem("This is the <b>first</b> line.\r\nThis is the <b>second</b> line.\r\nThis is the <b>third</b> line.") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2061 |
Type of wraps the cell's caption support (Sample 1)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:HeaderSingleLine := .F. oG2antt:HeaderHeight := 36 oG2antt:DrawGridLines := -2/*exRowLines*/ oG2antt:ColumnAutoResize := .F. oG2antt:ScrollBySingleLine := .T. oG2antt:Columns():Add("Default"):Width := 128 oItems := oG2antt:Items() h := oItems:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.") h := oItems:AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.") oItems:SetProperty("CellValueFormat",h,0,1/*exHTML*/) h := oItems:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.") oItems:SetProperty("CellSingleLine",h,0,0/*exCaptionWordWrap*/) h := oItems:AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.") oItems:SetProperty("CellValueFormat",h,0,1/*exHTML*/) oItems:SetProperty("CellSingleLine",h,0,0/*exCaptionWordWrap*/) h := oItems:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.") oItems:SetProperty("CellSingleLine",h,0,1/*exCaptionBreakWrap*/) h := oItems:AddItem("This is the <b>first</b> line.<br>This is the <b>second</b> line.<br>This is the <b>third</b> line.") oItems:SetProperty("CellValueFormat",h,0,1/*exHTML*/) oItems:SetProperty("CellSingleLine",h,0,1/*exCaptionBreakWrap*/) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2060 |
Can I break the cell's caption using the line break <br> or \r\n (Sample 2)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DrawGridLines := -2/*exRowLines*/ oG2antt:ColumnAutoResize := .F. oG2antt:ScrollBySingleLine := .T. oG2antt:Columns():Add("Default"):Width := 128 oItems := oG2antt:Items() oItems:SetProperty("CellSingleLine",oItems:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line."),0,1/*exCaptionBreakWrap*/) oItems:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2059 |
Can I break the cell's caption using the line break <br> or \r\n (Sample 1)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:DrawGridLines := -2/*exRowLines*/ oG2antt:ColumnAutoResize := .F. oG2antt:ScrollBySingleLine := .T. oColumn := oG2antt:Columns():Add("Default") oColumn:Width := 128 oColumn:SetProperty("Def",16/*exCellSingleLine*/,1) oItems := oG2antt:Items() oItems:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.") oItems:AddItem("This is the first line.\r\nThis is the second line.\r\nThis is the third line.") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2058 |
The histogram is showing empty space, when expanding an item. What could be wrong
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:LinesAtRoot := 5/*exGroupLinesOutside*/ oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:SetProperty("PaneWidth",.F.,128) oChart:FirstVisibleDate := "01/01/2001" oChart:HistogramVisible := .T. oChart:HistogramHeight := 48 oChart:HistogramView := 1392/*exHistogramNoGrouping+exHistogramLeafItems+exHistogramAllItems*/ oChart:Bars:Item("Task"):HistogramPattern := 6/*exPatternBDiagonal*/ oG2antt:Columns():Add("Column") oItems := oG2antt:Items() h := oItems:AddItem("Project 1") oItems:AddBar(oItems:InsertItem(h,,"Item 1"),"Task","01/02/2001","01/04/2001") oItems:AddBar(oItems:InsertItem(h,,"Item 2"),"Task","01/03/2001","01/05/2001") oItems:SetProperty("ExpandItem",h,.T.) h := oItems:AddItem("Project 2") oItems:AddBar(oItems:InsertItem(h,,"Item 1"),"Task","01/07/2001","01/10/2001") oItems:AddBar(oItems:InsertItem(h,,"Item 2"),"Task","01/06/2001","01/08/2001") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2057 |
How can I change the visual appearance/color of the Filter For ... field
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oG2antt:SetProperty("BackColorHeader",AutomationTranslateColor( GraMakeRGBColor ( { 1,0,0 } ) , .F. )) oG2antt:SetProperty("ForeColorHeader",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oG2antt:SetProperty("Background",26/*exBackColorFilter*/,oG2antt:BackColorHeader()) oG2antt:SetProperty("Background",27/*exForeColorFilter*/,oG2antt:ForeColorHeader()) oG2antt:SetProperty("Background",0/*exHeaderFilterBarButton*/,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oG2antt:SetProperty("Background",32/*exCursorHoverColumn*/,-1) oG2antt:HeaderAppearance := 5/*Bump*/ oColumn := oG2antt:Columns():Add("Items") oColumn:FilterOnType := .T. oColumn:DisplayFilterButton := .T. oColumn:FilterList := 2/*exNoItems*/ oItems := oG2antt:Items() h := oItems:AddItem("Root 1") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oItems:SetProperty("ExpandItem",h,.T.) h := oItems:AddItem("Root 2") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2056 |
How can I display the cell's caption without spaces on both sides
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .T. oColumn := oG2antt:Columns():Add("Default") oColumn:SetProperty("Def",17/*exCellValueFormat*/,1) oColumn:FormatColumn := "((trim(value) replace ` ` with ` `) replace ` ` with ` `) replace ` ` with `<bgcolor=FF0000> </bgcolor>`" oItems := oG2antt:Items() oItems:AddItem("") oItems:AddItem("Item A") oItems:AddItem(" Item B") oItems:AddItem(" Item C ") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2055 |
How can I highlight the spaces within the column (sample 2)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .T. oColumn := oG2antt:Columns():Add("Default") oColumn:SetProperty("Def",17/*exCellValueFormat*/,1) oColumn:FormatColumn := "`'` + ( value replace ` ` with `_` ) + `'`" oItems := oG2antt:Items() oItems:AddItem("") oItems:AddItem("Item A") oItems:AddItem(" Item B") oItems:AddItem(" Item C ") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2054 |
How can I highlight the spaces within the column (sample 1)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .T. oColumn := oG2antt:Columns():Add("Default") oColumn:SetProperty("Def",17/*exCellValueFormat*/,1) oColumn:FormatColumn := "len(value) = 0 ? `<bgcolor=FF0000> </bgcolor>` : ( value replace ` ` with `<bgcolor=FF0000> </bgcolor>` )" oItems := oG2antt:Items() oItems:AddItem("") oItems:AddItem("Item A") oItems:AddItem(" Item B") oItems:AddItem(" Item C ") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2053 |
How can I change the visual aspect of the drop down filter-calendar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:SetProperty("Background",26/*exBackColorFilter*/,AutomationTranslateColor( GraMakeRGBColor ( { 0,0,1 } ) , .F. )) oG2antt:SetProperty("Background",27/*exForeColorFilter*/,AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oG2antt:SetProperty("Background",12/*exDateScrollRange*/,AutomationTranslateColor( GraMakeRGBColor ( { 255,255,255 } ) , .F. )) oG2antt:SetProperty("Background",8/*exDateHeader*/,oG2antt:Background(26/*exBackColorFilter*/)) oG2antt:SetProperty("Background",11/*exDateScrollThumb*/,AutomationTranslateColor( GraMakeRGBColor ( { 128,128,128 } ) , .F. )) oColumn := oG2antt:Columns():Add("Date") oColumn:FilterType := 4/*exDate*/ oColumn:DisplayFilterButton := .T. oColumn:DisplayFilterDate := .T. oColumn:DisplayFilterPattern := .F. oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2052 |
How can I scroll the chart to ensure that a bar fits the chart's client area
PROCEDURE OnButtonClick(oG2antt,Item,ColIndex,Key) LOCAL dEnd,dScroll,dStart,kBar kBar := oG2antt:Items:FirstItemBar(Item) dStart := oG2antt:Items:ItemBar(Item,kBar,1/*exBarStart*/) dEnd := oG2antt:Items:ItemBar(Item,kBar,2/*exBarEnd*/) dScroll := oG2antt:FormatABC("(A+B)/2",dStart,dEnd) oG2antt:Chart():ScrollTo(dScroll,1) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oColumns LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:ButtonClick := {|Item,ColIndex,Key| OnButtonClick(oG2antt,Item,ColIndex,Key)} /*Occurs when user clicks on the cell's button.*/ oG2antt:BeginUpdate() oG2antt:ShowFocusRect := .F. oG2antt:DrawGridLines := -1/*exAllLines*/ oG2antt:GridLineStyle := 3/*exGridLinesDot4*/ oG2antt:SelBackMode := 1/*exTransparent*/ oChart := oG2antt:Chart() oChart:OverviewVisible := 6402/*exOverviewShowDateTimeScaleBottom+exOverviewAllowVerticalScroll+exOverviewShowAllVisible*/ oChart:OverviewHeight := 26 oChart:FirstVisibleDate := "06/08/2011" oChart:AdjustLevelsToBase := .T. oChart:SetProperty("PaneWidth",.F.,64) oChart:UnitWidth := 14 oChart:LevelCount := 2 oChart:DrawGridLines := -1/*exAllLines*/ oChart:GridLineStyle := 3/*exGridLinesDot4*/ oChart:SetProperty("SelBackColor",oG2antt:SelBackColor()) oChart:ColumnsFormatLevel := "" + CHR(34) + "" + CHR(34) + ":2,(" + CHR(34) + "" + CHR(34) + "/14;1/" + CHR(34) + "" + CHR(34) + "):14" oColumns := oG2antt:Columns() oColumns:Add("Default") oColumn := oColumns:Add("") oColumn:SetProperty("Def",2/*exCellHasButton*/,.T.) oColumn:SetProperty("Def",4/*exCellBackColor*/,15790320) oColumn:Visible := .F. oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("T1"),"Task","06/09/2011","06/17/2011") oItems:AddBar(oItems:AddItem("T2"),"Task","01/10/2012","01/17/2012") oItems:AddBar(oItems:AddItem("T3"),"Task","02/19/2013","02/23/2013") oItems:AddBar(oItems:AddItem("T4"),"Task","12/19/2014","12/23/2014") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2051 |
Is it possible to hide completely the list portion
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oConditionalFormat LOCAL oInsideZooms,oInsideZooms1 LOCAL oItems LOCAL oLevel,oLevel1 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:HeaderHeight := 32 oG2antt:OnResizeControl := 129/*exDisableSplitter+exResizeChart*/ oG2antt:DrawGridLines := -1/*exAllLines*/ oConditionalFormat := oG2antt:ConditionalFormats():Add("%CS0 = 1") oConditionalFormat:ApplyToBars := "Task" oConditionalFormat:SetProperty("BarColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oChart := oG2antt:Chart() oChart:FirstVisibleDate := "06/08/2011" oChart:AdjustLevelsToBase := .T. oChart:SetProperty("PaneWidth",.F.,0) oChart:LevelCount := 2 oChart:AllowInsideZoom := .T. oLevel := oChart:Level(0) oLevel:Alignment := 1/*CenterAlignment*/ oLevel:Label := "<b><%d%>-<%mmm%>-<%yyyy%>" oLevel:Unit := 4096/*exDay*/ oLevel1 := oChart:Level(1) oLevel1:Label := "<%h%>" oLevel1:Count := 8 oLevel1:Unit := 65536/*exHour*/ oLevel1:FormatLabel := "date(int(dvalue)) case (#06/08/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>23/20'; 8 : 'Shift <b>2</b><br>38/30' ; 16 : 'Shift <b>3</b><br>24/24' ) ) ; #06/09/2011# : (int(value) case ( 0 : 'Shift <b>1</b><br>15/20'; 8 : 'Shift <b>2</b><br>30/32' ; 16 : 'Shift <b>3</b><br>26/24' ) ) )" oChart:UnitWidth := 64 oChart:NonworkingDays := 0 oChart:ColumnsFormatLevel := "0" oChart:AllowInsideZoom := .T. oChart:DefaultInsideZoomFormat():InsideUnit := 1048576/*exMinute*/ oChart:AllowResizeInsideZoom := .F. oChart:InsideZoomOnDblClick := .F. oInsideZooms := oChart:InsideZooms() oInsideZooms:SplitBaseLevel := .F. oInsideZooms:DefaultWidth := 0 oInsideZooms1 := oChart:InsideZooms() oInsideZooms1:Add("06/09/2011 08:00:00") oInsideZooms1:Add("06/09/2011 16:00:00") oChart:DrawGridLines := -1/*exAllLines*/ oChart:GridLineStyle := 3/*exGridLinesDot4*/ oG2antt:Columns():Add("Defaul"):SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("T1"),"Task","06/08/2011 08:00:00","06/10/2011") oItems:AddBar(oItems:AddItem("T2"),"Task","06/08/2011 16:00:00","06/10/2011 08:00:00") oItems:AddBar(oItems:AddItem("T3"),"Task","06/09/2011","06/10/2011") oItems:SetProperty("CellState",oItems:ItemByIndex(1),0,1) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2050 |
How can I find out what exBarWorkingCount represents
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oColumn,oColumn1,oColumn2 LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oColumn := oG2antt:Columns():Add("Tasks") oColumn:AllowSizing := .F. oColumn:Width := 42 oColumn1 := oG2antt:Columns():Add("Format") oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,258) oColumn1:FormatColumn := "trim((1:=int((0:=value)/365) ? =:1 + ` year(s) ` : ``) + (1:=int((0:=(=:0 - (=:1*365)))/31) ? =:1 + ` month(s) ` : ``) + (1:=int((0:=(=:0 - (=:1*31)))/7) ? =:1 + ` week(s) ` : ``) + (1:=int((0:=(=:0 - (=:1*7)))/1) ? =:1 + ` day(s) ` : ``) + (1:=int((0:=(=:0 - =:1 + 1/24/60/60/2))*24) ? =:1 + ` hour(s) ` : ``) + (1:=int((0:=(=:0*24 - =:1))*60) ? =:1 + ` min(s) ` : ``) + (1:=int((0:=(=:0*60 - =:1))*60) ? =:1 + ` sec(s)` : ``))" oColumn2 := oG2antt:Columns():Add("Value") oColumn2:SetProperty("Def",18/*exCellValueToItemBarProperty*/,258) oColumn2:SortType := 1/*SortNumeric*/ oColumn2:Editor():EditType := 1/*EditType*/ oG2antt:HeaderAppearance := 4/*Etched*/ oG2antt:DrawGridLines := -2/*exRowLines*/ oG2antt:GridLineStyle := 48/*exGridLinesSolid*/ oG2antt:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 204,232,255 } ) , .F. )) oG2antt:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,0 } ) , .F. )) oChart := oG2antt:Chart() oChart:SetProperty("SelBackColor",oG2antt:SelBackColor()) oChart:FirstVisibleDate := "04/06/2009" oChart:SetProperty("PaneWidth",.F.,256) oChart:LevelCount := 2 oChart:UnitScale := 65536/*exHour*/ oChart:NonworkingHours := 15728767 oChart:ShowNonworkingDates := .F. oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingHours := .F. oBar := oChart:Bars:Item("Task") oBar:SetProperty("Def",20/*exBarKeepWorkingCount*/,.T.) oChart:AllowLinkBars := .F. oChart:DrawGridLines := -2/*exRowLines*/ oChart:GridLineStyle := 48/*exGridLinesSolid*/ oChart:Level(0):DrawGridLines := .T. oChart:ResizeUnitScale := 1048576/*exMinute*/ oChart:ResizeUnitCount := 15 oChart:SetProperty("Label",1048576/*exMinute*/,"<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%><||>15") oChart:AllowZoomOnFly := 280/*exZoomOnFlyIncludeNeighborItems+exZoomOnFly*/ oChart:SetProperty("BackColorZoomOnFly",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,0 } ) , .F. )) oG2antt:Items():AllowCellValueToItemBar := .T. oItems := oG2antt:Items() h := oItems:AddItem("") oItems:SetProperty("SelectableItem",h,.F.) oItems:SetProperty("SortableItem",h,.F.) oItems:AddBar(oItems:AddItem("T1"),"Task","04/06/2009 10:00:00","04/06/2009 13:00:00") oItems:AddBar(oItems:AddItem("T2"),"Task","04/06/2009 10:00:00","04/06/2009 16:00:00") oItems:AddBar(oItems:AddItem("T3"),"Task","04/06/2009 10:00:00","04/06/2009 19:00:00") h := oItems:AddItem("") oItems:SetProperty("SelectableItem",h,.F.) oItems:SetProperty("SortableItem",h,.F.) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2049 |
How can I hide the filter bar description
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oColumn := oG2antt:Columns():Add("Filter") oColumn:DisplayFilterButton := .T. oColumn:FilterType := 240/*exFilter*/ oColumn:Filter := "B" oItems := oG2antt:Items() oItems:AddItem("A") oItems:AddItem("B") oItems:AddItem("C") oG2antt:ApplyFilter() oG2antt:FilterBarHeight := 0 oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2048 |
How can I add a break bar
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oColumn := oG2antt:Columns():Add("Tasks") oColumn:AllowSizing := .F. oColumn:Width := 42 oColumn1 := oG2antt:Columns():Add("Working") oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,258) oColumn1:FormatColumn := "((1:=int(0:= (value))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')" oG2antt:HeaderAppearance := 4/*Etched*/ oG2antt:DrawGridLines := -2/*exRowLines*/ oG2antt:GridLineStyle := 48/*exGridLinesSolid*/ oG2antt:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 204,232,255 } ) , .F. )) oG2antt:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,0 } ) , .F. )) oChart := oG2antt:Chart() oChart:SetProperty("SelBackColor",oG2antt:SelBackColor()) oChart:FirstVisibleDate := "04/06/2009" oChart:SetProperty("PaneWidth",.F.,164) oChart:LevelCount := 2 oChart:UnitScale := 65536/*exHour*/ oChart:NonworkingHours := 15728767 oChart:ShowNonworkingDates := .F. oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingHours := .F. oBar := oChart:Bars():Add("Task:Split") oBar:SetProperty("Def",20/*exBarKeepWorkingCount*/,.T.) oBar:Shortcut := "Task" oChart:AllowLinkBars := .F. oChart:DrawGridLines := -2/*exRowLines*/ oChart:GridLineStyle := 48/*exGridLinesSolid*/ oChart:Level(0):DrawGridLines := .T. oChart:ResizeUnitScale := 1048576/*exMinute*/ oChart:ResizeUnitCount := 15 oChart:SetProperty("Label",1048576/*exMinute*/,"<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%><||>15") oChart:AllowZoomOnFly := 280/*exZoomOnFlyIncludeNeighborItems+exZoomOnFly*/ oChart:SetProperty("BackColorZoomOnFly",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,0 } ) , .F. )) oChart:AllowNonworkingBars := .T. oG2antt:Items():AllowCellValueToItemBar := .T. oItems := oG2antt:Items() oItems:AddItem("") h := oItems:AddItem("T1") oItems:SetProperty("ItemNonworkingUnits",h,.F.,"(weekday(value) in (0,6)) or (timeF(value) < `07:00:00`) or (timeF(value) >= `20:00:00`) ") oItems:AddBar(h,"","04/06/2009 07:30:00","04/06/2009 09:30:00","A","<c><font ;4>break<br>bar") oItems:SetProperty("ItemBar",h,"A",38/*exBarTreatAsNonworking*/,.T.) oItems:AddBar(h,"Task","04/06/2009 10:00:00","04/06/2009 12:00:00") oItems:AddBar(oItems:AddItem("T2"),"Task","04/06/2009 10:00:00","04/06/2009 17:45:00") oItems:AddItem("") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2047 |
It seems the ResizeUnitCount have no effect on the ZoomOnFly feature, is it normal
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oColumn := oG2antt:Columns():Add("Tasks") oColumn:AllowSizing := .F. oColumn:Width := 42 oColumn1 := oG2antt:Columns():Add("Working") oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,258) oColumn1:FormatColumn := "((1:=int(0:= (value))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')" oG2antt:HeaderAppearance := 4/*Etched*/ oG2antt:DrawGridLines := -2/*exRowLines*/ oG2antt:GridLineStyle := 48/*exGridLinesSolid*/ oG2antt:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 204,232,255 } ) , .F. )) oG2antt:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,0 } ) , .F. )) oChart := oG2antt:Chart() oChart:SetProperty("SelBackColor",oG2antt:SelBackColor()) oChart:FirstVisibleDate := "04/06/2009" oChart:SetProperty("PaneWidth",.F.,164) oChart:LevelCount := 2 oChart:UnitScale := 65536/*exHour*/ oChart:NonworkingHours := 15728767 oChart:ShowNonworkingDates := .F. oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingHours := .F. oBar := oChart:Bars:Item("Task") oBar:SetProperty("Def",20/*exBarKeepWorkingCount*/,.T.) oChart:AllowLinkBars := .F. oChart:DrawGridLines := -2/*exRowLines*/ oChart:GridLineStyle := 48/*exGridLinesSolid*/ oChart:Level(0):DrawGridLines := .T. oChart:ResizeUnitScale := 1048576/*exMinute*/ oChart:ResizeUnitCount := 15 oChart:SetProperty("Label",1048576/*exMinute*/,"<|><%nn%><|><%h%>:<%nn%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, '<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%> <%h%>:<%nn%> <%AM/PM%><||>15") oChart:AllowZoomOnFly := 280/*exZoomOnFlyIncludeNeighborItems+exZoomOnFly*/ oChart:SetProperty("BackColorZoomOnFly",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,0 } ) , .F. )) oG2antt:Items():AllowCellValueToItemBar := .T. oItems := oG2antt:Items() oItems:AddItem("") oItems:AddBar(oItems:AddItem("T1"),"Task","04/06/2009 10:00:00","04/06/2009 12:00:00") oItems:AddBar(oItems:AddItem("T2"),"Task","04/06/2009 10:00:00","04/06/2009 17:45:00") oItems:AddItem("") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2046 |
Export Data in HTML format
PROCEDURE OnAddGroupItem(oG2antt,Item) LOCAL oItems oItems := oG2antt:Items() oItems:SetProperty("ItemBold",Item,.T.) oItems:AddBar(Item,"Summary",oItems:CellValue(Item,2),oItems:CellValue(Item,4)) oItems:DefineSummaryBars(Item,"",-3,"") RETURN PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems LOCAL i oItems := oG2antt:Items() i := oItems:ItemToIndex(Item) oItems:AddBar(Item,"Task","01/02/2008","01/09/2008","") oItems:SetProperty("ItemBar",Item,"",514/*exBarMove*/,i) oItems:SetProperty("ItemBar",Item,"",513/*exBarDuration*/,i) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oAppearance LOCAL oBar,oBar1 LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oColumns LOCAL oConditionalFormat,oConditionalFormat1 LOCAL oItems LOCAL oShellBrowserWindow LOCAL sFile oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/ oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oG2antt:SetProperty("BackColorAlternate",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oG2antt:DrawGridLines := -1/*exAllLines*/ oG2antt:HeaderAppearance := 4/*Etched*/ oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),"")) oG2antt:FilterBarCaption := "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))" oG2antt:FilterBarPromptVisible := 2579/*exFilterBarCompact+exFilterBarShowCloseIfRequired+exFilterBarSingleLine+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPromptType := 2/*exFilterPromptContainsAny*/ oG2antt:SingleSort := .F. oG2antt:AllowGroupBy := .T. oG2antt:SetProperty("BackColorSortBar",oG2antt:BackColor()) oG2antt:DrawGridLines := -1/*exAllLines*/ oAppearance := oG2antt:VisualAppearance() oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzVIUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxINgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZxBBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +; "eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==") oAppearance:RenderType := -268435456 oChart := oG2antt:Chart() oChart:DrawGridLines := -1/*exAllLines*/ oChart:SetProperty("PaneWidth",.F.,196) oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2008" oChart:FirstWeekDay := 1/*exMonday*/ oBar := oChart:Bars:Item("Summary") oBar:StartShape := 0/*exShapeIconEmpty*/ oBar:EndShape := 0/*exShapeIconEmpty*/ oBar:Shape := 1/*exShapeSolid*/ oBar:SetProperty("Color",0x1808080) oBar:Height := 7 oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%513%>") oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18) oBar1 := oChart:Bars:Item("Task") oBar1:SetProperty("Def",3/*exBarCaption*/,"<%=(%2-%1) in (3,5) ? %513 : `` %>") oBar1:SetProperty("Def",4/*exBarHAlignCaption*/,18) oConditionalFormat := oG2antt:ConditionalFormats():Add("(%2 - %1) = 3","K3") oConditionalFormat:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oConditionalFormat:SetProperty("BarColor",oConditionalFormat:ForeColor()) oConditionalFormat:ApplyToBars := "Task" oConditionalFormat1 := oG2antt:ConditionalFormats():Add("(%2 - %1) = 5","K5") oConditionalFormat1:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,255,0 } ) , .F. )) oConditionalFormat1:SetProperty("BarColor",oConditionalFormat1:ForeColor()) oConditionalFormat1:ApplyToBars := "Task" oColumns := oG2antt:Columns() oColumns:Add("Tasks"):SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn := oColumns:Add("Start") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oColumn:SetProperty("Def",19/*exCellValueToItemBarKey*/,"") oColumn1 := oColumns:Add("End") oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oColumn1:SetProperty("Def",19/*exCellValueToItemBarKey*/,"") oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddItem("Task A") oItems:AddItem("Task A") oItems:AddItem("Task A") oItems:AddItem("Task A") oItems:AddItem("Task B") oItems:AddItem("Task B") oItems:AddItem("Task B") oItems:AddItem("Task C") oG2antt:Columns:Item("Tasks"):SortOrder := 1/*SortAscending*/ oG2antt:EndUpdate() sFile := "c:/temp/export.html" oG2antt:Export(sFile,"vis") oShellBrowserWindow := CreateObject("InternetExplorer.Application") oShellBrowserWindow:Navigate2(sFile) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2045 |
Export Data in CSV format
PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems LOCAL i oItems := oG2antt:Items() i := oItems:ItemToIndex(Item) oItems:AddBar(Item,"Task","01/02/2008","01/09/2008","") oItems:SetProperty("ItemBar",Item,"",514/*exBarMove*/,i) oItems:SetProperty("ItemBar",Item,"",513/*exBarDuration*/,i) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oColumns LOCAL oConditionalFormat,oConditionalFormat1 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oG2antt:SetProperty("BackColorAlternate",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oG2antt:DrawGridLines := -1/*exAllLines*/ oG2antt:HeaderAppearance := 4/*Etched*/ oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),"")) oG2antt:FilterBarCaption := "(( ( value replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))" oG2antt:FilterBarPromptVisible := 2579/*exFilterBarCompact+exFilterBarShowCloseIfRequired+exFilterBarSingleLine+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:FilterBarPromptType := 2/*exFilterPromptContainsAny*/ oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,196) oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2008" oBar := oChart:Bars:Item("Task") oBar:SetProperty("Def",3/*exBarCaption*/,"<%=(%2-%1) in (3,5) ? %513 : `` %>") oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18) oConditionalFormat := oG2antt:ConditionalFormats():Add("(%2 - %1) = 3","K3") oConditionalFormat:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oConditionalFormat:SetProperty("BarColor",oConditionalFormat:ForeColor()) oConditionalFormat:ApplyToBars := "Task" oConditionalFormat1 := oG2antt:ConditionalFormats():Add("(%2 - %1) = 5","K5") oConditionalFormat1:SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,255,0 } ) , .F. )) oConditionalFormat1:SetProperty("BarColor",oConditionalFormat1:ForeColor()) oConditionalFormat1:ApplyToBars := "Task" oColumns := oG2antt:Columns() oColumns:Add("Tasks"):SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn := oColumns:Add("Start") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,1) oColumn:SetProperty("Def",19/*exCellValueToItemBarKey*/,"") oColumn1 := oColumns:Add("End") oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,2) oColumn1:SetProperty("Def",19/*exCellValueToItemBarKey*/,"") oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddItem("Task A") oItems:AddItem("Task A") oItems:AddItem("Task A") oItems:AddItem("Task A") oItems:AddItem("Task B") oItems:AddItem("Task B") oItems:AddItem("Task B") oItems:AddItem("Task C") oG2antt:EndUpdate() DevOut( Transform(oG2antt:Export("","vis"),"") ) oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2044 |
I want to be able to detect when a user clicks on a row in the chart that is not populated
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) LOCAL date,item,sMessage item := oG2antt:ItemFromPoint(-1,-1,col,hit) date := oG2antt:Chart:DateFromPoint(-1,-1) sMessage := oG2antt:FormatABC("(not(A = 0) ? `chart` : `list`) + ` ` + (not(B = 0) ? `item` : `empty`) ",date,item) DevOut( Transform(sMessage,"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:SetProperty("PaneWidth",.F.,128) oChart:LevelCount := 2 oChart:FirstVisibleDate := "01/01/2018" oG2antt:Columns():Add("Tasks") oItems := oG2antt:Items() oItems:AddBar(oItems:AddItem("Task 1"),"Task","01/02/2018","01/12/2018") oItems:AddBar(oItems:AddItem("Task 2"),"Task","01/03/2018","01/13/2018") oItems:AddBar(oItems:AddItem("Task 3"),"Task","01/04/2018","01/14/2018") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2043 |
Is it possible to have multiple calendars. A calendar for each row for example. Reason : some of our lines work 2 shifts but some also have a night shift
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBars LOCAL oChart LOCAL oColumn LOCAL oItems LOCAL h,sCalendar1,sCalendar2,sCalendar3,sCalendar4 oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Columns():Add("Tasks") oColumn := oG2antt:Columns():Add("Working") oColumn:SetProperty("Def",18/*exCellValueToItemBarProperty*/,258) oColumn:FormatColumn := "((1:=int(0:=( 24*int(value) + (value - int(value) + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')" oChart := oG2antt:Chart() oChart:FirstVisibleDate := "04/06/2009" oChart:SetProperty("PaneWidth",.F.,148) oChart:LevelCount := 2 oChart:ShowNonworkingUnits := .F. oChart:ShowNonworkingDates := .F. oBars := oChart:Bars() oBars:Add("Task:Split"):Shortcut := "Task" oBars:Item("Task"):SetProperty("Def",20/*exBarKeepWorkingCount*/,.T.) oChart:SetProperty("Label",65536/*exHour*/,"<%h%><||><||>65536") oChart:Level(0):FormatLabel := "`<font small fonts;6>` + value" oChart:Level(1):FormatLabel := "len(value) = 2 ? (`<font small fonts;4>` + (value left 1) + `<br>` + (value right 1) ) : (`<font small fonts;4>` + ` <br>` + (value left 1) + `` )" oChart:UnitScale := 65536/*exHour*/ oChart:UnitWidth := 9 oG2antt:Items():AllowCellValueToItemBar := .T. oItems := oG2antt:Items() sCalendar1 := "weekday(value) in (0,6) or (hour(value) < 6) or (hour(value) > 18)" h := oItems:AddItem("Shift 1") oItems:SetProperty("ItemNonworkingUnits",h,.F.,Transform(sCalendar1,"")) oItems:AddBar(h,"Task","04/06/2009","04/07/2009") h := oItems:AddItem("Shift 1") oItems:SetProperty("ItemNonworkingUnits",h,.F.,Transform(sCalendar1,"")) oItems:AddBar(h,"Task","04/06/2009","04/08/2009") sCalendar2 := "weekday(value) in (0,6) or (hour(value) < 8) or (hour(value) > 14)" h := oItems:AddItem("Shift 2") oItems:SetProperty("ItemNonworkingUnits",h,.F.,Transform(sCalendar2,"")) oItems:AddBar(h,"Task","04/06/2009","04/07/2009") h := oItems:AddItem("Shift 2") oItems:SetProperty("ItemNonworkingUnits",h,.F.,Transform(sCalendar2,"")) oItems:AddBar(h,"Task","04/06/2009","04/08/2009") sCalendar3 := "weekday(value) in (0,6) or 0 = ( hour(value) mod 3 ) " h := oItems:AddItem("Shift 3") oItems:SetProperty("ItemNonworkingUnits",h,.F.,Transform(sCalendar3,"")) oItems:AddBar(h,"Task","04/06/2009","04/07/2009") h := oItems:AddItem("Shift 3") oItems:SetProperty("ItemNonworkingUnits",h,.F.,Transform(sCalendar3,"")) oItems:AddBar(h,"Task","04/06/2009","04/08/2009") sCalendar4 := "weekday(value) in (0,6)" h := oItems:AddItem("Shift 3") oItems:SetProperty("ItemNonworkingUnits",h,.F.,Transform(sCalendar4,"")) oItems:AddBar(h,"Task","04/06/2009","04/07/2009") h := oItems:AddItem("Shift 3") oItems:SetProperty("ItemNonworkingUnits",h,.F.,Transform(sCalendar4,"")) oItems:AddBar(h,"Task","04/06/2009","04/08/2009") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2042 |
Is it possible to check multiple-items at once
PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems LOCAL bHasParent bHasParent := oG2antt:FormatABC("value != 0",oG2antt:Items:ItemParent(Item)) oItems := oG2antt:Items() oItems:SetProperty("CellHasCheckBox",Item,0,.F.) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn LOCAL oItems LOCAL h,hChild oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oColumn := oG2antt:Columns():Add("Tasks") oColumn:SetProperty("Def",17/*exCellValueFormat*/,1) oColumn:FormatColumn := "value + (%CS0 = 1 ? `<r><fgcolor=808080>(checked)` : ``)" oG2antt:HeaderVisible := 1/*exHeaderVisibleExtendLevels*/ oG2antt:SingleSel := .F. oItems := oG2antt:Items() h := oItems:AddItem("Project") hChild := oItems:InsertItem(h,,"Task 1") hChild := oItems:InsertItem(h,,"Task 2") hChild := oItems:InsertItem(h,,"Task 3") oItems:SetProperty("ExpandItem",h,.T.) oItems:SetProperty("LockedItemCount",0/*exTop*/,1) oItems:SetProperty("CellValue",oItems:LockedItem(0/*exTop*/,0),0,"<c>Select multiple items and press the <b>SPACE</b> key") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2041 |
How can I prevent changing the start/end colors of the bar, when ItemBar(exBarColor) property is applied
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar,oBar1 LOCAL oBars LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oG2antt:VisualAppearance():Add(1,"E:\Exontrol\ExButton\sample\EBN\Assorted\bhframe.ebn") oG2antt:Chart():SetProperty("PaneWidth",.F.,96) oBars := oG2antt:Chart():Bars() oBars:AddShapeCorner(12345,1) oBars:AddShapeCorner(999,2) oBars:AddShapeCorner(1049,3) oBar := oBars:Add("T1") oBar:StartShape := 12345/*0x3020+exShapeIconVBar+exShapeIconRight*/ oBar:EndShape := 999/*0x3e0+exShapeIconLeft*/ oBar:Pattern := 4/*exPatternNDot*/ oBar:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,255,0 } ) , .F. )) oBar:SetProperty("Color",0x1000000) oBar:SetProperty("EndColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oBar:SetProperty("Def",3/*exBarCaption*/,"<%=`<font ;6> ` + %0 + ``%>") oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18) oBar1 := oBars:Add("T2") oBar1:StartShape := 12345/*0x3020+exShapeIconVBar+exShapeIconRight*/ oBar1:EndShape := 1049/*0x400+exShapeIconVBar+exShapeIconRight*/ oBar1:Pattern := 4/*exPatternNDot*/ oBar1:SetProperty("StartColor",-1) oBar1:SetProperty("Color",0x1000000) oBar1:SetProperty("EndColor",-1) oBar1:SetProperty("Def",3/*exBarCaption*/,"<%=`<font ;6> ` + %0 + ``%>") oBar1:SetProperty("Def",4/*exBarHAlignCaption*/,18) oG2antt:Chart():FirstVisibleDate := "01/01/2001" oG2antt:Columns():Add("Column") oItems := oG2antt:Items() h := oItems:AddItem("Item 1") oItems:AddBar(h,"T1","01/02/2001","01/04/2001") h := oItems:AddItem("Item 2") oItems:AddBar(h,"T1","01/02/2001","01/04/2001") oItems:SetProperty("ItemBar",h,"",33/*exBarColor*/,65280) h := oItems:AddItem("Item 3") oItems:AddBar(h,"T1","01/02/2001","01/04/2001") oItems:SetProperty("ItemBar",h,"",33/*exBarColor*/,255) h := oItems:AddItem("Item 4") oItems:AddBar(h,"T2","01/02/2001","01/04/2001") h := oItems:AddItem("Item 5") oItems:AddBar(h,"T2","01/02/2001","01/04/2001") oItems:SetProperty("ItemBar",h,"",33/*exBarColor*/,65280) h := oItems:AddItem("Item 6") oItems:AddBar(h,"T2","01/02/2001","01/04/2001") oItems:SetProperty("ItemBar",h,"",33/*exBarColor*/,255) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2040 |
How can I get the icon from the cell when using the Items.CellImages property (icon index)
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) LOCAL i i := oG2antt:ItemFromPoint(-1,-1,c,hit) DevOut( Transform(oG2antt:FormatABC("( 0x44 = ( value bitand 0x44 ) ) ? ( ( (value bitand 0xFFFF0000) bitshift 16 ) array B split `,` ) : `no image`",hit,oG2antt:Items:CellImages(i,c)),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oG2antt:Columns():Add("Default") oItems := oG2antt:Items() oItems:SetProperty("CellImages",oItems:AddItem("Item 1"),0,"3,2,1") oItems:SetProperty("CellImages",oItems:AddItem("Item 2"),0,"2,3") oItems:SetProperty("CellImages",oItems:AddItem("Item 3"),0,"2,") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2039 |
How can I get the icon from the cell when using the Items.CellImages property (icon position within the cell)
PROCEDURE OnMouseMove(oG2antt,Button,Shift,X,Y) LOCAL i i := oG2antt:ItemFromPoint(-1,-1,c,hit) DevOut( Transform(oG2antt:FormatABC("( 0x44 = ( value bitand 0x44 ) ) ? 1 + ( (value bitand 0xFFFF0000) bitshift 16 ) : `no image`",hit),"") ) RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:MouseMove := {|Button,Shift,X,Y| OnMouseMove(oG2antt,Button,Shift,X,Y)} /*Occurs when the user moves the mouse.*/ oG2antt:BeginUpdate() oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oG2antt:Chart():SetProperty("PaneWidth",.T.,0) oG2antt:Columns():Add("Default") oItems := oG2antt:Items() oItems:SetProperty("CellImages",oItems:AddItem("Item 1"),0,"3,2,1") oItems:SetProperty("CellImages",oItems:AddItem("Item 2"),0,"2,3") oItems:SetProperty("CellImages",oItems:AddItem("Item 3"),0,"2") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2038 |
I have an EBN bar. Now if I apply an additional color to the bar, e,g, yellow, the bar is displayed as "dark yellow", which I assume is due to the black EBN color. How can I get the more "bright yellow" color
PROCEDURE OnAddGroupItem(oG2antt,Item) LOCAL oItems LOCAL l oItems := oG2antt:Items() oItems:SetProperty("ItemDividerLine",Item,0/*EmptyLine*/) oItems:AddBar(Item,"Summary","12/02/2017","12/02/2017") oItems:DefineSummaryBars(Item,"",-3,"") l := oItems:GroupItem(Item) oItems:SetProperty("CellSingleLine",Item,l,0/*exCaptionWordWrap*/) oItems:SetProperty("CellBold",Item,l,.T.) oItems:SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. )) oG2antt:Chart():SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. )) RETURN PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/10/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oAppearance LOCAL oBar LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oColumns LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/ oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oAppearance := oG2antt:VisualAppearance() oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzVIUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxINgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZxBBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +; "eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==") oAppearance:RenderType := -268435456 oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,342) oBar := oChart:Bars:Item("Summary") oBar:StartShape := 0/*exShapeIconEmpty*/ oBar:EndShape := 0/*exShapeIconEmpty*/ oBar:Shape := 1/*exShapeSolid*/ oBar:SetProperty("Color",0x1ff0000) oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%513%>") oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18) oColumns := oG2antt:Columns() oColumns:Add("C1") oColumns:Add("C2") oColumns:Add("C3") oColumn := oColumns:Add("Pos") oColumn:FormatColumn := "1 pos ``" oColumn:AllowGroupBy := .F. oColumn:Position := 0 oColumn:Width := 48 oColumn:AllowSizing := .F. oG2antt:SortBarVisible := .T. oG2antt:SortBarCaption := "Drag a <b>column</b> header here to group by that column." oG2antt:AllowGroupBy := .T. oG2antt:HasLines := 0/*exNoLine*/ oG2antt:LinesAtRoot := 0/*exNoLinesAtRoot*/ oItems := oG2antt:Items() h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"SubItem B.1") oItems:SetProperty("CellValue",h,2,"SubItem B.2") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"SubItem B.1") oItems:SetProperty("CellValue",h,2,"SubItem B.2") oColumn1 := oG2antt:Columns:Item(0) oColumn1:SortOrder := 1/*SortAscending*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2037 |
Is it possible to change the visual appearance of the position signs when user changes the column's position by drag and drop
|
2036 |
Overlaid-Types
PROCEDURE OnAddItem(oG2antt,Item) LOCAL oItems LOCAL barName oItems := oG2antt:Items() barName := oItems:ItemData(Item) oItems:AddBar(Item,barName,"01/02/2001","01/04/2001","A1") oItems:AddBar(Item,barName,"01/03/2001","01/05/2001","A2") oItems:AddBar(Item,barName,"01/04/2001","01/07/2001","A3") oItems:AddBar(Item,barName,"01/05/2001","01/08/2001","A4") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar,oBar1,oBar2,oBar3,oBar4,oBar5 LOCAL oChart LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oG2antt:DefaultItemHeight := 22 oG2antt:Columns():Add("Task") oG2antt:ScrollBySingleLine := .T. oG2antt:SetProperty("BackColorAlternate",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oG2antt:DrawGridLines := 1/*exHLines*/ oChart := oG2antt:Chart() oChart:DrawGridLines := 1/*exHLines*/ oChart:ShowNonworkingDates := .F. oChart:SetProperty("PaneWidth",.F.,164) oChart:FirstVisibleDate := "12/28/2000" oChart:LevelCount := 2 oChart:Bars():CallMethod("Copy","Task","Intersect"):SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oChart:Bars:Item("Task"):OverlaidType := 0/*exOverlaidBarsNone*/ oBar := oChart:Bars():CallMethod("Copy","Task","Task-Transparent") oBar:OverlaidType := 0/*exOverlaidBarsNone*/ oBar:SetProperty("Def",19/*exBarTransparent*/,50) oBar:Pattern := 32/*exPatternBox*/ oBar:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,0 } ) , .F. )) oBar:SetProperty("StartColor",AutomationTranslateColor( GraMakeRGBColor ( { 80,80,255 } ) , .F. )) oBar:SetProperty("EndColor",oBar:StartColor()) oChart:Bars():CallMethod("Copy","Task","Task-Offset"):OverlaidType := 1/*exOverlaidBarsOffset*/ oBar1 := oChart:Bars():CallMethod("Copy","Task","Task-OffsetTransparent") oBar1:OverlaidType := 257/*exOverlaidBarsTransparent+exOverlaidBarsOffset*/ oBar1:SetProperty("Overlaid",256/*exOverlaidBarsTransparent*/,75) oBar2 := oChart:Bars():CallMethod("Copy","Task","Task-Intersect") oBar2:OverlaidType := 2/*exOverlaidBarsIntersect*/ oBar2:SetProperty("Overlaid",2/*exOverlaidBarsIntersect*/,"Intersect") oChart:Bars():CallMethod("Copy","Task","Task-Stack"):OverlaidType := 3/*exOverlaidBarsStack*/ oBar3 := oChart:Bars():CallMethod("Copy","Task","Task-StackAutoArrange") oBar3:OverlaidType := 515/*exOverlaidBarsStackAutoArrange+exOverlaidBarsStack*/ oBar3:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oBar3:OverlaidGroup := "Task" oBar4 := oChart:Bars():CallMethod("Copy","Task","Task-Cascade") oBar4:OverlaidType := 4/*exOverlaidBarsCascade*/ oBar4:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oBar4:OverlaidGroup := "Task" oBar5 := oChart:Bars():CallMethod("Copy","Task","Task-Strict") oBar5:OverlaidType := 8195/*exOverlaidBarsStrict+exOverlaidBarsStack*/ oBar5:OverlaidGroup := "Task" oBar5:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oItems := oG2antt:Items() oItems:InsertItem(0,"Task","Overlaid-None") oItems:InsertItem(0,"Task-Transparent","Overlaid-Semi-Transparent") oItems:InsertItem(0,"Task-Offset","Overlaid-Offset") oItems:InsertItem(0,"Task-OffsetTransparent","Overlaid-OffsetTransparent") oItems:InsertItem(0,"Task-Intersect","Overlaid-Intersect") oItems:InsertItem(0,"Task-Stack","Overlaid-Stack") h := oItems:InsertItem(0,"Task-StackAutoArrange","Overlaid-StackAutoArrange") oItems:AddBar(h,"Task","01/07/2001","01/09/2001","T1") oItems:AddBar(h,"Task","01/03/2001","01/05/2001","T2") oItems:AddBar(h,"Task","01/04/2001","01/07/2001","T3") oItems:AddBar(h,"Task","01/05/2001","01/08/2001","T4") h := oItems:InsertItem(0,"Task-Cascade","Overlaid-Cascade") oItems:AddBar(h,"Task","01/07/2001","01/09/2001","T1") oItems:AddBar(h,"Task","01/03/2001","01/05/2001","T2") oItems:AddBar(h,"Task","01/04/2001","01/07/2001","T3") oItems:AddBar(h,"Task","01/05/2001","01/08/2001","T4") oItems:SetProperty("ItemBar",h,"<A*>",52/*exBarOverlaidKey*/,"A") oItems:SetProperty("ItemBar",h,"<T*>",52/*exBarOverlaidKey*/,"T") h := oItems:InsertItem(0,"Task","Overlaid-StackStrict") oItems:AddBar(h,"Task-Strict","01/07/2001","01/09/2001","T1") oItems:SetProperty("ItemBar",0,"<*>",3/*exBarCaption*/,"<%=%9%>") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2035 |
FilterBarCaption ALLUI Keyword ( sample 3, result, leaf )
PROCEDURE OnAddGroupItem(oG2antt,Item) LOCAL oItems,oItems1 LOCAL l,val oItems := oG2antt:Items() oItems:SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) val := oItems:CellValue(Item,oItems:GroupItem(Item)) oItems:SetProperty("CellState",Item,oItems:GroupItem(Item),oG2antt:FormatABC("A = `Checked` ? 1 : 0",val)) oItems1 := oG2antt:Items() oItems1:SetProperty("ItemDividerLine",Item,0/*EmptyLine*/) oItems1:AddBar(Item,"Summary","12/02/2017","12/02/2017") oItems1:DefineSummaryBars(Item,"",-3,"") l := oItems1:GroupItem(Item) oItems1:SetProperty("CellSingleLine",Item,l,0/*exCaptionWordWrap*/) oItems1:SetProperty("CellBold",Item,l,.T.) oG2antt:Chart():SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) RETURN PROCEDURE OnAddItem(oG2antt,Item) LOCAL i i := oG2antt:FormatABC("value + 1",oG2antt:Items:ItemToIndex(Item)) oG2antt:Items():SetProperty("CellImage",Item,3,i) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5 LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/ oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oG2antt:VisualAppearance():Add(1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzVIUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxINgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZxBBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +; "eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oBar := oChart:Bars:Item("Summary") oBar:StartShape := 0/*exShapeIconEmpty*/ oBar:EndShape := 0/*exShapeIconEmpty*/ oBar:Shape := 1/*exShapeSolid*/ oBar:SetProperty("Color",0x1000000) oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%513%>") oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18) oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oColumn := oG2antt:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oG2antt:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oG2antt:Columns():Add("Check") oColumn2:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn2:DisplayFilterButton := .T. oColumn2:DisplayFilterPattern := .F. oColumn2:FilterType := 6/*exCheck*/ oColumn3 := oG2antt:Columns():Add("Image") oColumn3:DisplayFilterButton := .T. oColumn3:FilterType := 10/*exImage*/ oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/ oColumn4 := oG2antt:Columns():Add("Pos") oColumn4:AllowSizing := .F. oColumn4:AllowSort := .F. oColumn4:Width := 32 oColumn4:FormatColumn := "1 rpos ``" oColumn4:Position := 0 oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"Sub-Item B") oItems:SetProperty("CellState",h,2,1) oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C") oG2antt:FilterBarFont := oG2antt:Font() oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),"")) oG2antt:FilterBarCaption := "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + leafitemcount + ` result(s)` ) : (`<r><fgcolor=808080>`+ leafitemcount + ` item(s)`) )))" oG2antt:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:AllowGroupBy := .T. oG2antt:SortBarVisible := .T. oColumn5 := oG2antt:Columns:Item(2) oColumn5:FormatColumn := "%CS2 ? `Checked` : `Unchecked`" oColumn5:SortOrder := 1/*SortAscending*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2034 |
A black portion is shown while I am using the BackColorAlternate with EBN colors. What can I do
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn,oColumn1 LOCAL oConditionalFormat LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:ColumnAutoResize := .T. oG2antt:DefaultItemHeight := 20 oG2antt:VisualAppearance():Add(1,"gBFLBCJwBAEHhEJAAEhIDhAxHAxg0HG0Mg4xGI3HMOig3GcJiYAf8jAEhhUnAAyhEqg8hk0oAsIjgAiAwmYxGA4mYzGwwkI0i0ooUnB0IBMIl1Dg8zmYyGolptPkI1mY1GAll9KoUslNIrVCqNQldShFUstXAVfrVcrlZtVhuFnsUHq1zoczoQGhFBkNpg6zbDykUkhsPHE2h85nc9n8xtVDtlex9Msd2p1YstVq9ux8HyMtzuFz1PsNTzQlv2hhWfkuqpeVuN0q+nvEooN5veSAGpkb/ACcZrvhU3w83nM/poxGuchGpoVBvWgg+8knA4WimnFxI45Er5XOlHMg/Q3XU33W4ew9Wyu11mchDagcO7zus8VDoNBBEIKBpMY6DqOQyokhA/IQIQmwMk4bIQFDcoO6LWgwhQkNcABwEyAB5GwWbet6cRQg3DENQ5D8QxADZvEkAB8nabsURGeBpFM3pwE2AEZRpDx/neZpOR3Dz9oO/r/wCMoZNTBQAQR" +; "JSEwYg8HPGhEIoNCaEwq10gQ2WcRt7LcRxRFpuxUAEURQ3sczBEMgTTG8gN7HpOSEAEiQBAQZpmQ0DibPUFwbKcHwkhQoQtNQNzNEMbABOKDy/DMYQzHLeoPL0OTJSUd0pHcxTewk5zrIygIRPslz4lEngBKIAQivgASs/kLSBTlO00f8t0vGcgUbDlDRjXLCUNRERRvRgAHW2oAICA==") oColumn := oG2antt:Columns():Add("Default") oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn:PartialCheck := .T. oColumn1 := oG2antt:Columns():Add("Position") oColumn1:FormatColumn := "1 rindex ``" oColumn1:Visible := .F. oConditionalFormat := oG2antt:ConditionalFormats():Add("%C1 mod 2") oConditionalFormat:SetProperty("BackColor",0x1000000) oItems := oG2antt:Items() oItems:AddItem("Item 1") oItems:AddItem("Item 2") oItems:AddItem("Item 3") oItems:AddItem("Item 4") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2033 |
How can I specify alternate background colors for each root item, similar with BackColorAlternate
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oColumn,oColumn1 LOCAL oConditionalFormat LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oColumn := oG2antt:Columns():Add("Default") oColumn:SetProperty("Def",0/*exCellHasCheckBox*/,.T.) oColumn:PartialCheck := .T. oColumn1 := oG2antt:Columns():Add("Position") oColumn1:FormatColumn := "( ( 1:=( ( 0:=(1 rpos '') ) lfind `.`) ) < 0 ? =:0 : (=:0 left =:1) )" oColumn1:Visible := .F. oConditionalFormat := oG2antt:ConditionalFormats():Add("%C1 mod 2") oConditionalFormat:SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor ( { 240,240,240 } ) , .F. )) oItems := oG2antt:Items() h := oItems:AddItem("Root 1") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oItems:SetProperty("ExpandItem",h,.T.) h := oItems:AddItem("Root 2") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") h := oItems:AddItem("Root 3") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2032 |
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 4)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oG2antt:VisualDesign := "gBFLBWIgBAEHhEJAEGg6VAkHeLpgwChAOhULB8XAUUg8MAAREEHGMcgRCJ0ei8dhABDEcQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBRWAkEwiBiEQTjea5CgOIAFS7LIqjRQEBxhIaZYIGaiQADENo9TxIMZAfBIHShK6NJABCCSQKkYx0HScRijDIEFwGIQmbKiej4DCiCQQW7OYYRVCNMQSfa8HivJyrcamfp/YBgOBYHb1eLVPR5LwfPCGUw1P6PLxkORZHimK4tSLHV7xVpMIwZFafIQhCCoHomS5NU7UNR0TQUFx9FaGX7rDDsGwLAJ6XRgF4bg2VpnHePpenAN4bH2GwHFmApSjEGBLnWOpRGOTBZHOegrE6BxPiWVJqCweQrn0LgJAWJBjwgaw1gKO5HmWch5h+fovF+G5bmich4BgfZkB8dynRUVYqiUR5rnmex/F6" +; "N4tn2AJfnebZ3DEXw3HWXgzAyIwgicKJKBKEIhCeCgiHyHYFEmSAFmqBghFIdgSCeIJygYDAyAgJx6AoIINAMOJNCgCZCGoGoLmMCI+CwJoihMNglCCIhzFCUg0EmMhghWDBkAiQg9CUY4jEYN4Jk2IxklYJoJHIUg+CSZJSESFwkkkGI+FOFIJEIRhPhMCRJCSVoRrSBhiDgTZjHYT4PEkYhwhgJYm0SaIaiaSYuE+GQNlmCIBGCJxjhiZQ5AkMhAg6ExJCkPhPguaAiFYUAlAkKZ0g6HoOEmWR/GHcA4m0OwIlIJIHCRgQshGJhpjoaocieaZiC6GAimkUgehIOwnGYGYIGkah6jaE4rg6SpCjKK5rEOMYlGIGIihKOggloFoqj6L5aGaBo6CkGIkAQjiPpCAAaJILCTJQlKPACDaXJgmSaJsnCdJ4nygKEoijKQpSmKcqCpKoqysK0rivLAsSyLMtC1LYty4Lkui7LwvS+L8wDBMIwzEMUxjHMgyT" +; "KMszDNM4zzQNE0jTNQ1TWNc2DZNo2zcN03jfOA4TiOM5DlOY5zoOk6jrOw7TuO88DxPI8z0PU9j3Pg+T6Ps/D9P4/0AQFAkDQRBUGQdCEJQpC0MQ1DkPRBEUSRNFEVBhFkXRhGQ9D6Dxfh+W5gGGd4QH2XQjCmDpFFaKoVB+D5Xmed5+H8YAHnIAh9EwV5Fl0d4MkMKJICmSgygSJAoEmMUCIPgnDCCIOQFYCxJjwFoCcA4kxoF+AIJkAgExegDEgEYQInAzCUAIOEGgfxiiRDYF1Q4EQ2BSCaEQYwbAiKREMpRSymFNDIAkAxT6oVRgSA2qdVKq1WqvVirMZQUhSCnBUMoIgoQRgnGSIQUgkg1hIHYAkAYMROAmHiLsE4xxSCxBwEwCQ0wmDdBsE0GYXBtg2CSPMFIuwYiQBYBQeAcwOCnBCCZgw0g0glBONAQgqQThCGgPQGoBQfiRGmOEZIPAXjsBoPAO4HRThhA0EQSA5BAgaCKJIGg3QdhOCmNU" +; "BoQAijTCIF0FwQxpCHDIPAYYMQGgtCmFcaQtRAjZCyFYSojQ2B2BoKwIYFApBXEIBsIQ1QsAWAWEwaA1xCgjAoIAQBAQ=" oG2antt:Columns():Add("Column") oItems := oG2antt:Items() h := oItems:AddItem("Root 1") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oItems:SetProperty("ExpandItem",h,.T.) h := oItems:AddItem("Root 2") oItems:InsertItem(h,,"Child") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2031 |
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 3)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oAppearance LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oAppearance := oG2antt:VisualAppearance() oAppearance:Add(3,"gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +; "XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRgwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMINCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=") oAppearance:Add(1,"CP:3 -2 -2 2 2") oAppearance:Add(4,"gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +; "eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOFSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=") oAppearance:Add(2,"CP:4 -2 -2 2 2") oG2antt:LinesAtRoot := 1/*exGroupLinesAtRoot*/ oG2antt:HasButtons := 4/*exCustom*/ oG2antt:SetProperty("HasButtonsCustom",.F.,16777216) oG2antt:SetProperty("HasButtonsCustom",.T.,33554432) oG2antt:Columns():Add("Column") oItems := oG2antt:Items() h := oItems:AddItem("Root 1") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oItems:SetProperty("ExpandItem",h,.T.) h := oItems:AddItem("Root 2") oItems:InsertItem(h,,"Child") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2030 |
How can I change the visual appearance of the +/- buttons, open/close glyphs as current visual theme (method 2)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oAppearance LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oAppearance := oG2antt:VisualAppearance() oAppearance:Add(1,"XP:TREEVIEW 2 1") oAppearance:Add(2,"XP:TREEVIEW 2 2") oG2antt:SetProperty("Background",180/*exTreeGlyphOpen*/,0x1000000) oG2antt:SetProperty("Background",181/*exTreeGlyphClose*/,0x2000000) oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oG2antt:Columns():Add("Column") oItems := oG2antt:Items() h := oItems:AddItem("Root 1") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oItems:SetProperty("ExpandItem",h,.T.) h := oItems:AddItem("Root 2") oItems:InsertItem(h,,"Child") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2029 |
How can I find if the control is running in DPI mode
|
2028 |
How can I change the visual appearance of the +/- buttons (method 1)
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oAppearance LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oAppearance := oG2antt:VisualAppearance() oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABDwCg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJegef4zluaJ3nqPJeCYH4BAeX5TDLBpVGqKRRnwf4flefZtHsX54BYAR/F+EwVnUd5eAMMJKDIChygyIQpAoEh4iIJ5Jlg" +; "XIcgCXpIGoFwnGEQh6BEKBgmMIICHgIJCAiUAzgyUoAhwJohkiRgygwYpiGoKwzGIcgKCkNQNCMRIbCYCRYk4QoMiOchWDwNBjhiJJaDYTRiGiFwlCQAhOE8JBJHITIRgwZRZFCFCZBkOIUhKTRpCWAwgGYQ4El4NxlBifIWCcCYCFoaoMGaKYyG6GxlBmGJdhkCAWBIeA5g4U4QhMJAImkPIShRVxGgQJRlCIUISh+SJpnCZIeBgFgiHgO4OlOMINCISByECDQikkGhuh2JwpmqBogCKaYiC6FwhmkQ4yHgYgYiaHopiuaRakCbIsisSpGjYOwaHYKYMCkK5CA2IxrCwCwFigaJrkLTI6lcdANAEgIA=") oAppearance:Add(2,"gBFLBCJwBAEHhEJAAEhABEICg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLJQKQSBcQR9EaBZBAWTpQC0OJDTJRI4TNAgbSYAAYRqoCb6loTKypaxjCQQIgkUBpGKdBynEYsDwSGyJCCJWyIbpKAwoVbcs4AYhuJpaQi+d5PFbjVT8dLAMBwLA8EwXAJ+OpfDxXU7eFKpR5fchXTI8UxXFqXZhkeQrfh7KYVRBKdBQRBEFQPJqnahqOpaXo2RoLUJKcQwHTmHYNQTALyuTALZrWeZ3XrgN74LbtZzVQauYRpbCMEr6bpoWLnFi6Ho1U4llWah1jqSweFqfxPgQQRphi+Yak0YIuqUfJeg8X4rluaZ3niGB+AQHx/EyShjjEVYqiUR5rnmex/GAB5+AIf4gEeXJFHyXZ3gCTAygyAociMKBKEKBIeCiCZyHYFAnCE" +; "eBkh+BghFgRIegOCgYCySAgh4CAkgINAMmMNIgCcCYjn4LoLmMCJGDKC5ijIagoDMYhCAoJg1A0IxEhsJgJFiThChCY5yFYPA0GOGIYloNhNGIaIXCUJACE4TwkEkchOFSFYlFkXhUCUCQZEYTglCSMxaEkYJIBmFJhDeDZZEYPwlgmQhghaGqVDoa4bGaeY6FGGZNlmFIBGEJ4jhiZQ5AkMhAg6E5JCkRoGCUSQ6B6CYiSCBIOh+DhJmmARiWQOJtDsCJSCSBwkXSLIRicaZ6HqIIomoIguhwIpphIHoWDsJ4mCGChpmqOpGheLIOkqUo2iya4DjGJxihiQoSj4IJaDaMpCjCWoGg6PgpBiQ4tHcQJQBAgI=") oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oG2antt:SetProperty("Background",180/*exTreeGlyphOpen*/,0x1000000) oG2antt:SetProperty("Background",181/*exTreeGlyphClose*/,0x2000000) oG2antt:Columns():Add("Column") oItems := oG2antt:Items() h := oItems:AddItem("Root 1") oItems:InsertItem(h,,"Child 1") oItems:InsertItem(h,,"Child 2") oItems:SetProperty("ExpandItem",h,.T.) h := oItems:AddItem("Root 2") oItems:InsertItem(h,,"Child") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2027 |
How can I add a summary bar once the user group by a column
PROCEDURE OnAddGroupItem(oG2antt,Item) LOCAL oItems LOCAL l oItems := oG2antt:Items() oItems:SetProperty("ItemDividerLine",Item,0/*EmptyLine*/) oItems:AddBar(Item,"Summary","12/02/2017","12/02/2017") oItems:DefineSummaryBars(Item,"",-3,"") l := oItems:GroupItem(Item) oItems:SetProperty("CellSingleLine",Item,l,0/*exCaptionWordWrap*/) oItems:SetProperty("CellBold",Item,l,.T.) oItems:SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. )) oG2antt:Chart():SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. )) RETURN PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/10/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oColumns LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/ oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oG2antt:VisualAppearance():Add(1,"gBFLBCJwBAEHhEJAAEhABOUGACAADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCMQwAFBIbhrE4ZBjHGQRUgyI43RhHUBzVIUBxDEaTZLlEYJBgeHYhDJPcaUVDcWQHGyeZwjSgpKoWSJIU5NcggPDgEwTKCmKlTAKoSzJMyEmwWRAdVTZLSEaxierKPhyWT/XgAF4PfDFKRXFqXY5mKZJFqKOI8TxINgxPQMGyrBqraLqKwQGrGCQKSBhUZ3dS2JR3OSlYRuQAMVgOXoDZhPWZXbDtSzPE63NgtOR5DiGWalABoeoxRa9cz3ViCJSrGTqIoINIzZLHFQbPpdAYdP6BeIjXhhZxBBuLZXmEOh9CcNoni2N4MjWVodh+DpfBeLJinsWR9AyYwVAkGBhEAFphGiRogDEGBamkFgtjcZgHiMbgehYaQhAIEIREAaQYkcQZUHIGRUGQDBOEaBAhDYDxGkMZAkCg" +; "eoagYZAYEYAYIAWGhemICIFj8WIiCiFR5gkIhogmBoKGKJx2C6C5hniMgggqYwog0UoNGMZJiDiCZRgOLY0ECUAQICA==") oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,342) oBar := oChart:Bars:Item("Summary") oBar:StartShape := 0/*exShapeIconEmpty*/ oBar:EndShape := 0/*exShapeIconEmpty*/ oBar:Shape := 1/*exShapeSolid*/ oBar:SetProperty("Color",0x1000000) oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%513%>") oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18) oColumns := oG2antt:Columns() oColumns:Add("C1") oColumns:Add("C2") oColumns:Add("C3") oColumn := oColumns:Add("Pos") oColumn:FormatColumn := "1 pos ``" oColumn:AllowGroupBy := .F. oColumn:Position := 0 oColumn:Width := 48 oColumn:AllowSizing := .F. oG2antt:SortBarVisible := .T. oG2antt:SortBarCaption := "Drag a <b>column</b> header here to group by that column." oG2antt:AllowGroupBy := .T. oG2antt:HasLines := 0/*exNoLine*/ oG2antt:LinesAtRoot := 0/*exNoLinesAtRoot*/ oItems := oG2antt:Items() h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"SubItem B.1") oItems:SetProperty("CellValue",h,2,"SubItem B.2") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"SubItem B.1") oItems:SetProperty("CellValue",h,2,"SubItem B.2") oColumn1 := oG2antt:Columns:Item(0) oColumn1:SortOrder := 1/*SortAscending*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2026 |
Is it possible to display no +/- button for grouped items
PROCEDURE OnAddGroupItem(oG2antt,Item) LOCAL oItems LOCAL l oItems := oG2antt:Items() oItems:SetProperty("ItemDividerLine",Item,0/*EmptyLine*/) oItems:AddBar(Item,"Progress","12/02/2017","12/02/2017") oItems:DefineSummaryBars(Item,"",-3,"") l := oItems:GroupItem(Item) oItems:SetProperty("CellSingleLine",Item,l,0/*exCaptionWordWrap*/) oItems:SetProperty("CellBold",Item,l,.T.) oItems:SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. )) oG2antt:Chart():SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. )) RETURN PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/10/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oColumns LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/ oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,342) oColumns := oG2antt:Columns() oColumns:Add("C1") oColumns:Add("C2") oColumns:Add("C3") oColumn := oColumns:Add("Pos") oColumn:FormatColumn := "1 pos ``" oColumn:AllowGroupBy := .F. oColumn:Position := 0 oColumn:Width := 48 oColumn:AllowSizing := .F. oG2antt:SortBarVisible := .T. oG2antt:SortBarCaption := "Drag a <b>column</b> header here to group by that column." oG2antt:AllowGroupBy := .T. oG2antt:HasLines := 0/*exNoLine*/ oG2antt:LinesAtRoot := 0/*exNoLinesAtRoot*/ oItems := oG2antt:Items() h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"SubItem B.1") oItems:SetProperty("CellValue",h,2,"SubItem B.2") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"SubItem B.1") oItems:SetProperty("CellValue",h,2,"SubItem B.2") oColumn1 := oG2antt:Columns:Item(0) oColumn1:SortOrder := 1/*SortAscending*/ oColumn1:Alignment := 1/*CenterAlignment*/ oColumn1:SetProperty("Def",4/*exCellBackColor*/,15790320) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2025 |
How can I change the label, caption or the formula of the grouped items
PROCEDURE OnAddGroupItem(oG2antt,Item) LOCAL oItems oItems := oG2antt:Items() oItems:AddBar(Item,"Progress","12/02/2017","12/02/2017") oItems:DefineSummaryBars(Item,"",-3,"") RETURN PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/10/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oColumns LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/ oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,342) oColumns := oG2antt:Columns() oColumn := oColumns:Add("C1") oColumn:GroupByTotalField := "" oColumn:GroupByFormatCell := "upper(value)" oColumns:Add("C2") oColumns:Add("C3") oColumn1 := oColumns:Add("Pos") oColumn1:FormatColumn := "1 pos ``" oColumn1:AllowGroupBy := .F. oColumn1:Position := 0 oColumn1:Width := 48 oColumn1:AllowSizing := .F. oG2antt:SortBarVisible := .T. oG2antt:SortBarCaption := "Drag a <b>column</b> header here to group by that column." oG2antt:AllowGroupBy := .T. oItems := oG2antt:Items() h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"SubItem B.1") oItems:SetProperty("CellValue",h,2,"SubItem B.2") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"SubItem B.1") oItems:SetProperty("CellValue",h,2,"SubItem B.2") oG2antt:Columns:Item(0):SortOrder := 1/*SortAscending*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2024 |
How can I change the aspect of grouped items
PROCEDURE OnAddGroupItem(oG2antt,Item) LOCAL oItems LOCAL l oItems := oG2antt:Items() oItems:SetProperty("ItemDividerLine",Item,0/*EmptyLine*/) oItems:AddBar(Item,"Progress","12/02/2017","12/02/2017") oItems:DefineSummaryBars(Item,"",-3,"") l := oItems:GroupItem(Item) oItems:SetProperty("CellSingleLine",Item,l,0/*exCaptionWordWrap*/) oItems:SetProperty("CellBold",Item,l,.T.) oItems:SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. )) oG2antt:Chart():SetProperty("ItemBackColor",Item,AutomationTranslateColor( GraMakeRGBColor ( { 190,190,190 } ) , .F. )) RETURN PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/10/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oColumns LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/ oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,342) oColumns := oG2antt:Columns() oColumns:Add("C1") oColumns:Add("C2") oColumns:Add("C3") oColumn := oColumns:Add("Pos") oColumn:FormatColumn := "1 pos ``" oColumn:AllowGroupBy := .F. oColumn:Position := 0 oColumn:Width := 48 oColumn:AllowSizing := .F. oG2antt:SortBarVisible := .T. oG2antt:SortBarCaption := "Drag a <b>column</b> header here to group by that column." oG2antt:AllowGroupBy := .T. oItems := oG2antt:Items() h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"SubItem B.1") oItems:SetProperty("CellValue",h,2,"SubItem B.2") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"SubItem B.1") oItems:SetProperty("CellValue",h,2,"SubItem B.2") oG2antt:Columns:Item(0):SortOrder := 1/*SortAscending*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2023 |
How can I collapse all items when the user performs a grouping
PROCEDURE OnAddGroupItem(oG2antt,Item) LOCAL oItems oItems := oG2antt:Items() oItems:SetProperty("ExpandItem",Item,.F.) oItems:SetProperty("ItemDividerLine",Item,0/*EmptyLine*/) oItems:AddBar(Item,"Progress","12/02/2017","12/02/2017") oItems:DefineSummaryBars(Item,"",-3,"") RETURN PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/10/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oColumns LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddGroupItem := {|Item| OnAddGroupItem(oG2antt,Item)} /*Occurs after a new Group Item has been inserted to Items collection.*/ oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,342) oColumns := oG2antt:Columns() oColumns:Add("C1") oColumns:Add("C2") oColumns:Add("C3") oColumn := oColumns:Add("Pos") oColumn:FormatColumn := "1 pos ``" oColumn:AllowGroupBy := .F. oColumn:Position := 0 oColumn:Width := 48 oColumn:AllowSizing := .F. oG2antt:SortBarVisible := .T. oG2antt:SortBarCaption := "Drag a <b>column</b> header here to group by that column." oG2antt:AllowGroupBy := .T. oItems := oG2antt:Items() h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"SubItem B.1") oItems:SetProperty("CellValue",h,2,"SubItem B.2") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"SubItem B.1") oItems:SetProperty("CellValue",h,2,"SubItem B.2") oG2antt:Columns:Item(0):SortOrder := 1/*SortAscending*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2022 |
Is it possible to select columns that user can drop to the sort bar, when using the Group By feature
PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/10/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oColumns LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,342) oColumns := oG2antt:Columns() oColumns:Add("C1") oColumns:Add("C2") oColumns:Add("C3") oColumn := oColumns:Add("Pos") oColumn:FormatColumn := "1 pos ``" oColumn:AllowGroupBy := .F. oColumn:Position := 0 oColumn:Width := 48 oColumn:AllowSizing := .F. oG2antt:SortBarVisible := .T. oG2antt:SortBarCaption := "<fgcolor=FF0000>Try to drag the Pos column here." oG2antt:AllowGroupBy := .T. oItems := oG2antt:Items() h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item A") oItems:SetProperty("CellValue",h,1,"SubItem A.1") oItems:SetProperty("CellValue",h,2,"SubItem A.2") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"SubItem B.1") oItems:SetProperty("CellValue",h,2,"SubItem B.2") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"SubItem B.1") oItems:SetProperty("CellValue",h,2,"SubItem B.2") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2021 |
How can I filter for the type of the bars I have in my chart
#include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oBar,oBar1,oBar2 LOCAL oChart LOCAL oColumn,oColumn1,oColumn2 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "11/28/2017" oChart:SetProperty("PaneWidth",.F.,0) oBar := oChart:Bars:Item("Task") oBar:SetProperty("Def",3/*exBarCaption*/,"<%=%0%>") oBar:SetProperty("Def",4/*exBarHAlignCaption*/,18) oBar1 := oChart:Bars():CallMethod("Copy","Task","GTask") oBar1:SetProperty("Def",3/*exBarCaption*/,"<%=%0%>") oBar1:SetProperty("Def",4/*exBarHAlignCaption*/,18) oBar1:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 0,255,0 } ) , .F. )) oBar2 := oChart:Bars():CallMethod("Copy","Task","RTask") oBar2:SetProperty("Def",3/*exBarCaption*/,"<%=%0%>") oBar2:SetProperty("Def",4/*exBarHAlignCaption*/,18) oBar2:SetProperty("Color",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. )) oChart:ColumnsFormatLevel := "0" oG2antt:OnResizeControl := 129/*exDisableSplitter+exResizeChart*/ oColumn := oG2antt:Columns():Add("Default") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oG2antt:Columns():Add("Type") oColumn1:SetProperty("Def",19/*exCellValueToItemBarKey*/,"") oColumn1:SetProperty("Def",18/*exCellValueToItemBarProperty*/,0) oColumn1:Visible := .F. oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oItems := oG2antt:Items() oItems:AllowCellValueToItemBar := .T. oItems:AddBar(oItems:AddItem("Item 1"),"Task","12/04/2017","12/12/2017") oItems:AddBar(oItems:AddItem("Item 2"),"GTask","12/04/2017","12/12/2017") oItems:AddBar(oItems:AddItem("Item 3"),"RTask","12/04/2017","12/12/2017") oItems:AddBar(oItems:AddItem("Item 4"),"Task","12/04/2017","12/12/2017") oItems:AddBar(oItems:AddItem("Item 5"),"GTask","12/04/2017","12/12/2017") oItems:AddBar(oItems:AddItem("Item 6"),"RTask","12/04/2017","12/12/2017") oG2antt:FilterBarFont := oG2antt:Font() oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),"")) oG2antt:FilterBarCaption := "(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))" oG2antt:FilterBarPromptVisible := 2579/*exFilterBarCompact+exFilterBarShowCloseIfRequired+exFilterBarSingleLine+exFilterBarVisible+exFilterBarPromptVisible*/ oColumn2 := oG2antt:Columns:Item(1) oColumn2:FilterType := 240/*exFilter*/ oColumn2:Filter := "GTask|RTask" oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2020 |
How can I display the control's filter bar in the Items section only, as it was displayed before
PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1,oColumn2,oColumn3 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oColumn := oG2antt:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oG2antt:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oG2antt:Columns():Add("Pos") oColumn2:AllowSizing := .F. oColumn2:AllowSort := .F. oColumn2:Width := 32 oColumn2:FormatColumn := "1 apos ``" oColumn2:Position := 0 oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A") oItems:SetProperty("CellValue",oItems:AddItem("Item B"),1,"Sub-Item B") oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C") oG2antt:FilterBarPromptVisible := 4096/*exFilterBarShort*/ oColumn3 := oG2antt:Columns:Item(1) oColumn3:FilterType := 3/*exPattern*/ oColumn3:Filter := "*B" oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2019 |
FilterBarCaption ALL Keyword ( sample 2, result )
PROCEDURE OnAddItem(oG2antt,Item) LOCAL i i := oG2antt:FormatABC("value + 1",oG2antt:Items:ItemToIndex(Item)) oG2antt:Items():SetProperty("CellImage",Item,3,i) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5 LOCAL oEditor LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oColumn := oG2antt:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oG2antt:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oG2antt:Columns():Add("Check") oEditor := oColumn2:Editor() oEditor:EditType := 19/*CheckValueType*/ oEditor:SetProperty("Option",17/*exCheckValue2*/,1) oColumn2:DisplayFilterButton := .T. oColumn2:DisplayFilterPattern := .F. oColumn2:FilterType := 6/*exCheck*/ oColumn3 := oG2antt:Columns():Add("Image") oColumn3:DisplayFilterButton := .T. oColumn3:FilterType := 10/*exImage*/ oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/ oColumn4 := oG2antt:Columns():Add("Pos") oColumn4:AllowSizing := .F. oColumn4:AllowSort := .F. oColumn4:Width := 32 oColumn4:FormatColumn := "1 apos ``" oColumn4:Position := 0 oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"Sub-Item B") oItems:SetProperty("CellState",h,2,1) oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C") oG2antt:FilterBarFont := oG2antt:Font() oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),"")) oG2antt:FilterBarCaption := "(( ( all replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))" oG2antt:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/ oColumn5 := oG2antt:Columns:Item(0) oColumn5:FilterType := 240/*exFilter*/ oColumn5:Filter := "Item A|Item B" oG2antt:Columns:Item(2):Filter := Transform(1,"") oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2018 |
FilterBarCaption ALL Keyword ( sample 1 )
PROCEDURE OnAddItem(oG2antt,Item) LOCAL i i := oG2antt:FormatABC("value + 1",oG2antt:Items:ItemToIndex(Item)) oG2antt:Items():SetProperty("CellImage",Item,3,i) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5 LOCAL oEditor LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oColumn := oG2antt:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oG2antt:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oG2antt:Columns():Add("Check") oEditor := oColumn2:Editor() oEditor:EditType := 19/*CheckValueType*/ oEditor:SetProperty("Option",17/*exCheckValue2*/,1) oColumn2:DisplayFilterButton := .T. oColumn2:DisplayFilterPattern := .F. oColumn2:FilterType := 6/*exCheck*/ oColumn3 := oG2antt:Columns():Add("Image") oColumn3:DisplayFilterButton := .T. oColumn3:FilterType := 10/*exImage*/ oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/ oColumn4 := oG2antt:Columns():Add("Pos") oColumn4:AllowSizing := .F. oColumn4:AllowSort := .F. oColumn4:Width := 32 oColumn4:FormatColumn := "1 apos ``" oColumn4:Position := 0 oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"Sub-Item B") oItems:SetProperty("CellState",h,2,1) oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C") oG2antt:FilterBarFont := oG2antt:Font() oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),"")) oG2antt:FilterBarCaption := "all" oG2antt:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/ oColumn5 := oG2antt:Columns:Item(0) oColumn5:FilterType := 240/*exFilter*/ oColumn5:Filter := "Item A|Item B" oG2antt:Columns:Item(2):Filter := Transform(1,"") oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2017 |
FilterBarCaption ALLUI Keyword ( sample 2, result )
PROCEDURE OnAddItem(oG2antt,Item) LOCAL i i := oG2antt:FormatABC("value + 1",oG2antt:Items:ItemToIndex(Item)) oG2antt:Items():SetProperty("CellImage",Item,3,i) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5 LOCAL oEditor LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oColumn := oG2antt:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oG2antt:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oG2antt:Columns():Add("Check") oEditor := oColumn2:Editor() oEditor:EditType := 19/*CheckValueType*/ oEditor:SetProperty("Option",17/*exCheckValue2*/,1) oColumn2:DisplayFilterButton := .T. oColumn2:DisplayFilterPattern := .F. oColumn2:FilterType := 6/*exCheck*/ oColumn3 := oG2antt:Columns():Add("Image") oColumn3:DisplayFilterButton := .T. oColumn3:FilterType := 10/*exImage*/ oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/ oColumn4 := oG2antt:Columns():Add("Pos") oColumn4:AllowSizing := .F. oColumn4:AllowSort := .F. oColumn4:Width := 32 oColumn4:FormatColumn := "1 apos ``" oColumn4:Position := 0 oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"Sub-Item B") oItems:SetProperty("CellState",h,2,1) oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C") oG2antt:FilterBarFont := oG2antt:Font() oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),"")) oG2antt:FilterBarCaption := "(( ( allui replace `[<b>` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `</b>]` with ` </b></bgcolor></fgcolor>` replace `[<s>` with `<bgcolor=C0C0C0><fgcolor=FFFFFF> ` replace `</s>]` with ` </fgcolor></bgcolor>` ) + `<r><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))" oG2antt:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/ oColumn5 := oG2antt:Columns:Item(0) oColumn5:FilterType := 240/*exFilter*/ oColumn5:Filter := "Item A|Item B" oG2antt:Columns:Item(2):Filter := Transform(1,"") oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2016 |
FilterBarCaption ALLUI Keyword ( sample 1 )
PROCEDURE OnAddItem(oG2antt,Item) LOCAL i i := oG2antt:FormatABC("value + 1",oG2antt:Items:ItemToIndex(Item)) oG2antt:Items():SetProperty("CellImage",Item,3,i) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5 LOCAL oEditor LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oColumn := oG2antt:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oG2antt:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oG2antt:Columns():Add("Check") oEditor := oColumn2:Editor() oEditor:EditType := 19/*CheckValueType*/ oEditor:SetProperty("Option",17/*exCheckValue2*/,1) oColumn2:DisplayFilterButton := .T. oColumn2:DisplayFilterPattern := .F. oColumn2:FilterType := 6/*exCheck*/ oColumn3 := oG2antt:Columns():Add("Image") oColumn3:DisplayFilterButton := .T. oColumn3:FilterType := 10/*exImage*/ oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/ oColumn4 := oG2antt:Columns():Add("Pos") oColumn4:AllowSizing := .F. oColumn4:AllowSort := .F. oColumn4:Width := 32 oColumn4:FormatColumn := "1 apos ``" oColumn4:Position := 0 oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"Sub-Item B") oItems:SetProperty("CellState",h,2,1) oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C") oG2antt:FilterBarFont := oG2antt:Font() oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),"")) oG2antt:FilterBarCaption := "allui" oG2antt:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/ oColumn5 := oG2antt:Columns:Item(0) oColumn5:FilterType := 240/*exFilter*/ oColumn5:Filter := "Item A|Item B" oG2antt:Columns:Item(2):Filter := Transform(1,"") oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2015 |
FilterBarCaption AVAILABLE Keyword ( sample 2, result )
PROCEDURE OnAddItem(oG2antt,Item) LOCAL i i := oG2antt:FormatABC("value + 1",oG2antt:Items:ItemToIndex(Item)) oG2antt:Items():SetProperty("CellImage",Item,3,i) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5 LOCAL oEditor LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oColumn := oG2antt:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oG2antt:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oG2antt:Columns():Add("Check") oEditor := oColumn2:Editor() oEditor:EditType := 19/*CheckValueType*/ oEditor:SetProperty("Option",17/*exCheckValue2*/,1) oColumn2:DisplayFilterButton := .T. oColumn2:DisplayFilterPattern := .F. oColumn2:FilterType := 6/*exCheck*/ oColumn3 := oG2antt:Columns():Add("Image") oColumn3:DisplayFilterButton := .T. oColumn3:FilterType := 10/*exImage*/ oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/ oColumn4 := oG2antt:Columns():Add("Pos") oColumn4:AllowSizing := .F. oColumn4:AllowSort := .F. oColumn4:Width := 32 oColumn4:FormatColumn := "1 apos ``" oColumn4:Position := 0 oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"Sub-Item B") oItems:SetProperty("CellState",h,2,1) oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C") oG2antt:FilterBarFont := oG2antt:Font() oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),"")) oG2antt:FilterBarCaption := "(( ( value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` ) + ` ` + ( available replace `[` with `<bgcolor=C0C0C0><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>` replace `<s>` with `` replace `</s>` with `` ) + `<fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<r><fgcolor=808080>`+ itemcount + ` item(s)`) )))" oG2antt:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/ oColumn5 := oG2antt:Columns:Item(0) oColumn5:FilterType := 240/*exFilter*/ oColumn5:Filter := "Item A|Item B" oG2antt:Columns:Item(2):Filter := Transform(1,"") oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2014 |
FilterBarCaption AVAILABLE Keyword ( sample 1 )
PROCEDURE OnAddItem(oG2antt,Item) LOCAL i i := oG2antt:FormatABC("value + 1",oG2antt:Items:ItemToIndex(Item)) oG2antt:Items():SetProperty("CellImage",Item,3,i) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4,oColumn5 LOCAL oEditor LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=") oColumn := oG2antt:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oG2antt:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oG2antt:Columns():Add("Check") oEditor := oColumn2:Editor() oEditor:EditType := 19/*CheckValueType*/ oEditor:SetProperty("Option",17/*exCheckValue2*/,1) oColumn2:DisplayFilterButton := .T. oColumn2:DisplayFilterPattern := .F. oColumn2:FilterType := 6/*exCheck*/ oColumn3 := oG2antt:Columns():Add("Image") oColumn3:DisplayFilterButton := .T. oColumn3:FilterType := 10/*exImage*/ oColumn3:FilterList := 9472/*exShowExclude+exShowFocusItem+exShowCheckBox*/ oColumn4 := oG2antt:Columns():Add("Pos") oColumn4:AllowSizing := .F. oColumn4:AllowSort := .F. oColumn4:Width := 32 oColumn4:FormatColumn := "1 apos ``" oColumn4:Position := 0 oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A") h := oItems:AddItem("Item B") oItems:SetProperty("CellValue",h,1,"Sub-Item B") oItems:SetProperty("CellState",h,2,1) oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C") oG2antt:FilterBarFont := oG2antt:Font() oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080> ` + value + ` </fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),"")) oG2antt:FilterBarCaption := "value + ` ` + available" oG2antt:FilterBarPromptVisible := 3/*exFilterBarVisible+exFilterBarPromptVisible*/ oColumn5 := oG2antt:Columns:Item(0) oColumn5:FilterType := 240/*exFilter*/ oColumn5:Filter := "Item A|Item B" oG2antt:Columns:Item(2):Filter := Transform(1,"") oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2013 |
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 3, results )
PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oColumn := oG2antt:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oG2antt:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oG2antt:Columns():Add("Pos") oColumn2:AllowSizing := .F. oColumn2:AllowSort := .F. oColumn2:Width := 32 oColumn2:FormatColumn := "1 apos ``" oColumn2:Position := 0 oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A") oItems:SetProperty("CellValue",oItems:AddItem("Item B"),1,"Sub-Item B") oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C") oG2antt:FilterBarFont := oG2antt:Font() oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),"")) oG2antt:FilterBarCaption := "(`<b>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )) replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`" oG2antt:FilterBarPromptVisible := 256/*exFilterBarToggle*/ oColumn3 := oG2antt:Columns:Item(0) oColumn3:FilterType := 240/*exFilter*/ oColumn3:Filter := "Item A|Item B" oColumn4 := oG2antt:Columns:Item(1) oColumn4:FilterType := 3/*exPattern*/ oColumn4:Filter := "*B" oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2012 |
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 2 )
PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oColumn := oG2antt:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oG2antt:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oG2antt:Columns():Add("Pos") oColumn2:AllowSizing := .F. oColumn2:AllowSort := .F. oColumn2:Width := 32 oColumn2:FormatColumn := "1 apos ``" oColumn2:Position := 0 oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A") oItems:SetProperty("CellValue",oItems:AddItem("Item B"),1,"Sub-Item B") oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C") oG2antt:FilterBarFont := oG2antt:Font() oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),"")) oG2antt:FilterBarCaption := "value replace `[` with `<bgcolor=000000><fgcolor=FFFFFF><b> ` replace `]` with ` </b></bgcolor></fgcolor>`" oG2antt:FilterBarPromptVisible := 256/*exFilterBarToggle*/ oColumn3 := oG2antt:Columns:Item(0) oColumn3:FilterType := 240/*exFilter*/ oColumn3:Filter := "Item A|Item B" oColumn4 := oG2antt:Columns:Item(1) oColumn4:FilterType := 3/*exPattern*/ oColumn4:Filter := "*B" oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2011 |
Is it possible to somehow highlight the column's name different than its filter value in the control's filter bar ( sample 1 )
PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1,oColumn2,oColumn3,oColumn4 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oColumn := oG2antt:Columns():Add("Col-1") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oG2antt:Columns():Add("Col-2") oColumn1:DisplayFilterButton := .T. oColumn1:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn2 := oG2antt:Columns():Add("Pos") oColumn2:AllowSizing := .F. oColumn2:AllowSort := .F. oColumn2:Width := 32 oColumn2:FormatColumn := "1 apos ``" oColumn2:Position := 0 oItems := oG2antt:Items() oItems:SetProperty("CellValue",oItems:AddItem("Item A"),1,"Sub-Item A") oItems:SetProperty("CellValue",oItems:AddItem("Item B"),1,"Sub-Item B") oItems:SetProperty("CellValue",oItems:AddItem("Item C"),1,"Sub-Item C") oG2antt:SetProperty("Description",11/*exFilterBarAnd*/,Transform(oG2antt:FormatABC("`<fgcolor=808080>` + value + `</fgcolor>`",oG2antt:Description(11/*exFilterBarAnd*/)),"")) oG2antt:FilterBarCaption := "value replace `[` with `<fgcolor=808080>[` replace `]` with `]</fgcolor>`" oG2antt:FilterBarPromptVisible := 256/*exFilterBarToggle*/ oColumn3 := oG2antt:Columns:Item(0) oColumn3:FilterType := 240/*exFilter*/ oColumn3:Filter := "Item A|Item B" oColumn4 := oG2antt:Columns:Item(1) oColumn4:FilterType := 3/*exPattern*/ oColumn4:Filter := "*B" oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2010 |
Is it possible to automatically displays the control's filter label to the right
PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1,oColumn2 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oColumn := oG2antt:Columns():Add("Item") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oG2antt:Columns():Add("Pos") oColumn1:AllowSizing := .F. oColumn1:AllowSort := .F. oColumn1:Width := 32 oColumn1:FormatColumn := "1 apos ``" oColumn1:Position := 0 oItems := oG2antt:Items() oItems:AddItem("Item A") oItems:AddItem("Item B") oItems:AddItem("Item C") oG2antt:FilterBarCaption := "`<r>` + value" oG2antt:FilterBarPromptVisible := 1280/*exFilterBarShowCloseOnRight+exFilterBarToggle*/ oColumn2 := oG2antt:Columns:Item(0) oColumn2:FilterType := 240/*exFilter*/ oColumn2:Filter := "Item B" oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2009 |
How can I get the number of results/items being shown in the control's filter bar (sample 4)
PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oColumn := oG2antt:Columns():Add("Item") oColumn:DisplayFilterButton := .T. oColumn:FilterList := 9504/*exShowExclude+exShowFocusItem+exShowCheckBox+exSortItemsAsc*/ oColumn1 := oG2antt:Columns():Add("Pos") oColumn1:AllowSizing := .F. oColumn1:AllowSort := .F. oColumn1:Width := 32 oColumn1:FormatColumn := "1 apos ``" oColumn1:Position := 0 oItems := oG2antt:Items() oItems:AddItem("Item A") oItems:AddItem("Item B") oItems:AddItem("Item C") oG2antt:FilterBarFont := oG2antt:Font() oG2antt:FilterBarPrompt := Transform(oG2antt:FormatABC("`<b>` + value",oG2antt:FilterBarPrompt()),"") oG2antt:FilterBarCaption := "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : (`<fgcolor=808080>`+ itemcount + ` item(s)`) )" oG2antt:FilterBarPromptVisible := 3591/*exFilterBarCompact+exFilterBarShowCloseOnRight+exFilterBarShowCloseIfRequired+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2008 |
How can I get the number of results being shown in the control's filter bar (sample 3)
PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oG2antt:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oG2antt:Items() oItems:AddItem("Item A") oItems:AddItem("Item B") oItems:AddItem("Item C") oG2antt:FilterBarFont := oG2antt:Font() oG2antt:FilterBarCaption := "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? ( ( len(value) ? `<br>` : `` ) + `<r>` + abs(matchitemcount + 1) + ` result(s)` ) : ``)" oG2antt:FilterBarPromptVisible := 2055/*exFilterBarCompact+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oColumn1 := oG2antt:Columns:Item(0) oColumn1:FilterType := 240/*exFilter*/ oColumn1:Filter := "Item A|Item B" oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2007 |
How can I get the number of results being shown in the control's filter bar (sample 2, compact)
PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oG2antt:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oG2antt:Items() oItems:AddItem("Item A") oItems:AddItem("Item B") oItems:AddItem("Item C") oG2antt:FilterBarFont := oG2antt:Font() oG2antt:FilterBarCaption := "`<b><r>` + value + `</b><fgcolor=808080>` + ( matchitemcount < 0 ? `<off -4> ` + abs(matchitemcount + 1) + ` result(s)` : ``)" oG2antt:FilterBarPromptVisible := 2071/*exFilterBarCompact+exFilterBarSingleLine+exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oColumn1 := oG2antt:Columns:Item(0) oColumn1:FilterType := 240/*exFilter*/ oColumn1:Filter := "Item A|Item B" oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2006 |
How can I get the number of results being shown in the control's filter bar (sample 1)
PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oG2antt:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oG2antt:Items() oItems:AddItem("Item A") oItems:AddItem("Item B") oItems:AddItem("Item C") oG2antt:FilterBarFont := oG2antt:Font() oG2antt:FilterBarCaption := "`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)" oG2antt:FilterBarPromptVisible := 7/*exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oColumn1 := oG2antt:Columns:Item(0) oColumn1:FilterType := 240/*exFilter*/ oColumn1:Filter := "Item A|Item B" oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2005 |
FilterBarCaption Predefined Keywords
PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN PROCEDURE OnAfterExpandItem(oG2antt,Item) oG2antt:Refresh() RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1,oColumn2 LOCAL oEditor LOCAL oItems LOCAL h oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:AfterExpandItem := {|Item| OnAfterExpandItem(oG2antt,Item)} /*Fired after an item is expanded (collapsed).*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oG2antt:LinesAtRoot := -1/*exLinesAtRoot*/ oG2antt:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oG2antt:Columns():Add("Check") oEditor := oColumn:Editor() oEditor:EditType := 19/*CheckValueType*/ oEditor:SetProperty("Option",17/*exCheckValue2*/,1) oColumn:DisplayFilterButton := .T. oColumn:DisplayFilterPattern := .F. oColumn:FilterType := 6/*exCheck*/ oColumn1 := oG2antt:Columns():Add("Pos") oColumn1:AllowSizing := .F. oColumn1:AllowSort := .F. oColumn1:Width := 32 oColumn1:FormatColumn := "1 apos ``" oColumn1:Position := 0 oItems := oG2antt:Items() oItems:AddItem("Item A") h := oItems:AddItem("Item B") oItems:SetProperty("CellState",oItems:InsertItem(h,,"Sub-Item B1"),1,1) oItems:InsertItem(h,,"Sub-Item B2") oItems:SetProperty("ExpandItem",h,.T.) oItems:AddItem("Item C") oG2antt:FilterInclude := 1/*exItemsWithChilds*/ oG2antt:FilterBarFont := oG2antt:Font() oG2antt:FilterBarCaption := "`<fgcolor=0000FF><i>value/current</i></fgcolor>: <fgcolor=808080>` + value + `</fgcolor>` + `<br><fgcolor=0000FF><i>available</i></fgcolor>: ` + available + `<br><fgcolor=0000FF><i>allui</i></fgcolor>: ` + allui + `<br><fgcolor=0000FF><i>all</i></fgcolor>: ` + all + `<br><fgcolor=0000FF><i>itemcount</i></fgcolor>: <fgcolor=808080>` + itemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>visibleitemcount</i></fgcolor>: <fgcolor=808080>` + visibleitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>matchitemcount</" +; "i></fgcolor>: <fgcolor=808080>` + matchitemcount + `</fgcolor>`+ `<br><fgcolor=0000FF><i>promptpattern</i></fgcolor>: <fgcolor=808080>` + promptpattern + `</fgcolor>`+ `<br><fgcolor=0000FF><i>leafitemcount</i></fgcolor>: <fgcolor=808080>` + leafitemcount + `</fgcolor>`" oG2antt:FilterBarPromptPattern := "B" oG2antt:FilterBarPromptVisible := 7/*exFilterBarCaptionVisible+exFilterBarVisible+exFilterBarPromptVisible*/ oColumn2 := oG2antt:Columns:Item(0) oColumn2:FilterType := 240/*exFilter*/ oColumn2:Filter := "Item A|Item B" oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2004 |
I am using filter prompt feature, and also column's filter, just wondering if possible to compact displaying the filter bar so it won't show on multiple lines
PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn,oColumn1 LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oG2antt:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oG2antt:Items() oItems:AddItem("Item A") oItems:AddItem("Item B") oItems:AddItem("Item C") oG2antt:FilterBarFont := oG2antt:Font() oG2antt:FilterBarCaption := "`<r><i><fgcolor=808080><upline><solidline><sha ;;0>` + value" oG2antt:FilterBarPromptPattern := "B" oG2antt:FilterBarPromptVisible := 2067/*exFilterBarCompact+exFilterBarSingleLine+exFilterBarVisible+exFilterBarPromptVisible*/ oColumn1 := oG2antt:Columns:Item(0) oColumn1:FilterType := 240/*exFilter*/ oColumn1:Filter := "Item A|Item B" oG2antt:ApplyFilter() oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2003 |
Just wondering if it is possible to show the filter bar's close button on the right ( sample 2 )
PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oG2antt:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oG2antt:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oG2antt:Items() oItems:AddItem("Item A") oItems:AddItem("Item B") oItems:AddItem("Item C") oG2antt:FilterBarPromptVisible := 1281/*exFilterBarShowCloseOnRight+exFilterBarToggle+exFilterBarPromptVisible*/ oG2antt:FilterBarPrompt := Transform(oG2antt:FormatABC("`<r>` + value",oG2antt:FilterBarPrompt()),"") oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2002 |
Just wondering if it is possible to show the filter bar's close button on the right ( sample 1 )
PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oChart LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oG2antt:RightToLeft := .T. oG2antt:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oG2antt:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oG2antt:Items() oItems:AddItem("Item A") oItems:AddItem("Item B") oItems:AddItem("Item C") oG2antt:FilterBarPromptVisible := 257/*exFilterBarToggle+exFilterBarPromptVisible*/ oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |
2001 |
How can I change the visual appearance of the filter bar's close button (EBN)
PROCEDURE OnAddItem(oG2antt,Item) oG2antt:Items():AddBar(Item,"Task","12/04/2017","12/14/2017") RETURN #include "AppEvent.ch" #include "ActiveX.ch" PROCEDURE Main LOCAL oForm LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL LOCAL oG2antt LOCAL oAppearance LOCAL oChart LOCAL oColumn LOCAL oItems oForm := XbpDialog():new( AppDesktop() ) oForm:drawingArea:clipChildren := .T. oForm:create( ,,{100,100}, {640,480},, .F. ) oForm:close := {|| PostAppEvent( xbeP_Quit )} oG2antt := XbpActiveXControl():new( oForm:drawingArea ) oG2antt:CLSID := "Exontrol.G2antt.1" /*{CD481F4D-2D25-4759-803F-752C568F53B7}*/ oG2antt:create(,, {10,60},{610,370} ) oG2antt:AddItem := {|Item| OnAddItem(oG2antt,Item)} /*Occurs after a new Item has been inserted to Items collection.*/ oG2antt:BeginUpdate() oChart := oG2antt:Chart() oChart:LevelCount := 2 oChart:FirstVisibleDate := "12/02/2017" oChart:SetProperty("PaneWidth",.F.,256) oAppearance := oG2antt:VisualAppearance() oAppearance:Add(1,"gBFLBCJwBAEHhEJAAEhABHQDg6AADACAxRDgMQBQKAAzAJBIYhiG4cYCgMZhXDOCYXABCEYRXBIZQ7BKNIxjSJ5BhIAAyDSJMjSRJUEhqGCWYDleYYYAKHIMQLOg7IJjyI4/SJAYCydKAWhxIaZKJHCZoEDaTAADCNVAQp6MEIJVbVEI0e79OgBLp/Z7kECIJJAaRjHQdJxGLA8EhtCQhCZteK6SgMKJYXhWQYRXI1JwvMBrWrdQjiOYELQtMKmSZNLYGG4dR5SVJbcYhSYsRRFMoyDIOXYDLKsdYqSpXIThObEGgaPqJYjsUjCMKnR7HVIURrBPC9TBPE69ZgmC6ucKPX51ShKFaBWDZcwFAS+UBuYCAILiEAQGZ1XT8OROicbgJgSTJRlCaZeDsHY7QGR4xkSYp3CaExZAQMgalQYAwjCAAfBANxcA2TgKAUOpDCGFhKg0RpXCwCwDHQHQHEyAIkCkOhbFOGA8A8DohBgRg9AccZcn8EpEjMLI2C2" +; "DYxAgQgvAIUIVkoAAPBQDJlECTZ3CCYwDACQwUA8A5MCAWAWDiQi4l8aQOEgLJuBgBgDmYFAzEoIoIl0WALgKYJbBABADAAHgHg8VAMmqCQQDMXABAATYwTmNwBDATJXAiAgjHmNQ5lgQ5QEQEQMmcWg/GwD5ylyNw2gMcJcjsBgBgOQQDDhRpVAMMwnDBFw1B0Ax8D0DxOmmJJIGQTY5hGMAwkwM4CAYLZAmAOJnAqAojiIGg6iieYkmeAYOHaKJDCyCwjH6AoggsQpQliAJLhgaJ0CESBTnyDwjk+cg4g4P5IHIHJ+BWRRzlYWAxiOUxihsY4KjKLJRGqC44FCegkkkM58iAKAPnIWIWD8SRSFSfQnkmewUhYP4GiGKJ7G0TIbCSUoggqUo0lAQ4LnEcBcD8Coiiif4nE+eAAn2HpOkcFJqi4T5SkyMw/kqQown8IBIBOdA+A+DJrBqVxXEqYo4lCApLhGHBnD8S4ymyfxmg+cwQkQP5egOUZIWoEA" +; "kjIeIPBMBJBD+TBjBifwvkuc58hQJQPmFrYykkchclSApKjGOBuD+TRDFCfw3mmIxNi8FxFlOXhVC4aYDFyPgvg2YBcBcLZGCGCJ0DSLRzGSWQ/lmY5+mEP5gmMDBZRSMRsFsOxMhMJJ/DsTpTnwaQaE+N5ojuNhdEYNI5C4TZJO1GRDmCaxnA2Yx4n8IpIjOTBQBQC5TgyYw7gUYRYikC0BYRwsDQBoB8eA6Q2hsE0BUXgywZtYCyHMKwnxSAhAQHkIQhRrBaDsCwA4ERiB2EWAIYIXhhiVEgAEUYwwYjyASLge4FhHgRDkM8OQih0jWPkGgBBAQ") oG2antt:Columns():Add("Item"):DisplayFilterButton := .T. oColumn := oG2antt:Columns():Add("Pos") oColumn:AllowSizing := .F. oColumn:AllowSort := .F. oColumn:Width := 32 oColumn:FormatColumn := "1 apos ``" oColumn:Position := 0 oItems := oG2antt:Items() oItems:AddItem("Item A") oItems:AddItem("Item B") oItems:AddItem("Item C") oG2antt:FilterBarPromptVisible := 257/*exFilterBarToggle+exFilterBarPromptVisible*/ oG2antt:SetProperty("Background",1/*exFooterFilterBarButton*/,0x1000000) oG2antt:EndUpdate() oForm:Show() DO WHILE nEvent != xbeP_Quit nEvent := AppEvent( @mp1, @mp2, @oXbp ) oXbp:handleEvent( nEvent, mp1, mp2 ) ENDDO RETURN |